كيفية الحصول على صفحة HTTP باستخدام ملفات تعريف الارتباط الميكانيكية؟
سؤال
هناك كائن ميكانيكي بيثون مع نموذج مع مجموعة القيم تقريبا تقريبا، ولكن لم يتم تقديمها بعد. الآن أرغب في جلب صفحة أخرى باستخدام ملفات تعريف الارتباط من مثيل ميكانيكي، ولكن دون إعادة تعيين الصفحة والنماذج وهلم جرا، على سبيل المثال بحيث تظل القيم مجموعة (أريد فقط الحصول على سلسلة الجسم من صفحة أخرى، لا شيء آخر). فهل هناك طريقة إلى:
- أخبر ميكانيز عدم إعادة تعيين الصفحة (ربما، من خلال
UserAgentBase
)? - يجعلون
urllib2
استخدم جرة ميكانيز كوكي؟ ملحوظة:urllib2.HTTPCookieProcessor(self.br._ua_handlers["_cookies"].cookiejar)
لا يعمل - أي طريقة أخرى لتمرير ملفات تعريف الارتباط إلى
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 ()؟ على الرغم من أنه من شأنه إعادة تعيين القيم.
لا تنتمي إلى StackOverflow