我正在尝试使用 mechanize 从网站检索一些数据以自动搜索公寓(无垃圾邮件)
但是,当我向该站点发送请求时,响应具有以下标头:
header: Cache-Control: no-store, no-cache, max-age=0, must-revalidate, private, max- stale=0, post-check=0, pre-check=0
header: Content-Type: text/html
header: P3P: CP="ALL IND DSP COR ADM CONo CUR CUSo IVAo IVDo PSA PSD TAI TELo OUR SAMo CNT COM INT NAV ONL PHY PRE PUR UNI"
header: Date: Mon, 16 Jun 2014 19:13:23 GMT
header: Connection: close
header: Set-Cookie: SPSI=1f5cf9461ca8ab1ee7f4d427ce1c895b ; path=/
header: Content-Length: 10965
响应文本内容大致如下:“您必须启用 cookie”
我如何用机械化来模拟它?
这样做似乎不起作用:
br = mechanize.Browser()
# Cookie Jar
cj = cookielib.LWPCookieJar()
br.set_cookiejar(cj)
仅供参考,我有机械化 0.2.5。如果这不起作用,我正在考虑使用 Selenium。
我有同样的问题。添加这些浏览器选项。从这里:http://stockrt.github.io/p/emulated-a-browser-in-python-with-mechanize/ http://stockrt.github.io/p/emulating-a-browser-in-python-with-mechanize/
# Browser options
br.set_handle_equiv(True)
br.set_handle_gzip(True)
br.set_handle_redirect(True)
br.set_handle_referer(True)
br.set_handle_robots(False)
# Follows refresh 0 but not hangs on refresh > 0
br.set_handle_refresh(mechanize._http.HTTPRefreshProcessor(), max_time=1)
我还建议使用调试消息
# Want debugging messages?
#br.set_debug_http(True)
#br.set_debug_redirects(True)
#br.set_debug_responses(True)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)