كيفية الحصول على صفحة HTTP باستخدام ملفات تعريف الارتباط الميكانيكية؟

StackOverflow https://stackoverflow.com/questions/1513823

  •  19-09-2019
  •  | 
  •  

سؤال

هناك كائن ميكانيكي بيثون مع نموذج مع مجموعة القيم تقريبا تقريبا، ولكن لم يتم تقديمها بعد. الآن أرغب في جلب صفحة أخرى باستخدام ملفات تعريف الارتباط من مثيل ميكانيكي، ولكن دون إعادة تعيين الصفحة والنماذج وهلم جرا، على سبيل المثال بحيث تظل القيم مجموعة (أريد فقط الحصول على سلسلة الجسم من صفحة أخرى، لا شيء آخر). فهل هناك طريقة إلى:

  1. أخبر ميكانيز عدم إعادة تعيين الصفحة (ربما، من خلال UserAgentBase)?
  2. يجعلون urllib2 استخدم جرة ميكانيز كوكي؟ ملحوظة: urllib2.HTTPCookieProcessor(self.br._ua_handlers["_cookies"].cookiejar) لا يعمل
  3. أي طريقة أخرى لتمرير ملفات تعريف الارتباط إلى urllib?
هل كانت مفيدة؟

المحلول

والإجابة الصحيحة:

opener = urllib2.build_opener(urllib2.HTTPCookieProcessor(self.br._ua_handlers["_cookies"].cookiejar))
opener.open(imgurl)

نصائح أخرى

لا فكرة عما إذا كان هذا سيعمل، ولكن لماذا لا تحاول Deepcopying مثيل الميكون

from copy import deepcopy
br = Browser()
br.open("http://www.example.com/")
# Make a copy for doing other stuff with
br2 = deepcopy(br)
# Do stuff with br2
# Now do stuff with br

بعض الأفكار البرية:

  • جلب الصفحة الثانية قبل ملء النموذج؟
  • أو جلب الصفحة الجديدة ثم goback ()؟ على الرغم من أنه من شأنه إعادة تعيين القيم.
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top