[D]python 爬站的几个问题

azsx18726 2012-05-13 10:27:13
1.
opener = urllib2.build_opener( encoding_support, urllib2.HTTPHandler )

想问一下urllib2.HTTPHandler
这个参数加不加有什么区别啊?
我运行起来看不出区别


2.
我碰到一种情况
一般的网站
response.info()里
Connection: close
可以爬到数据

但是
某些网站需要保持
Connection: keep-alive
才能爬到数据

这是为什么?
-------------------------------
Double行动:
原帖分数:40
帖子加分:40
...全文
212 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
Gloveing 2012-06-13
  • 打赏
  • 举报
回复
建议使用微软的WEB Debuger----Fiddler
这也是我一直在使用的
黄哥Python培训 2012-06-13
  • 打赏
  • 举报
回复
这个需要用http拦截工具,将浏览器和服务器交互的数据全部写在代码里,模拟post或get,这种方法机会90%网站可以搞定。
python从零基础到网页采集培训 请看http://www.qy7788.com.cn/shiyongxinxi/shiyongxinxi78.html
Gloveing 2012-06-12
  • 打赏
  • 举报
回复
有些网站要登陆之后才能够访问某些页面,所以可以使用cookie,而不必每次都到服务器进行认证,
所以常常可以:

cookieHandler = urllib2.HTTPCookieProcessor()
opener = urllib2.build_opener(cookieHandler)
urllib2.install_opener(opener)

req = urllib2.Request(path,headers)
con = urllib2.urlopen(req)
data = con.read()
azsx18726 2012-05-13
  • 打赏
  • 举报
回复
cookies =cookielib.CookieJar()
......
cookies.set_cookie(ck1)
cookies.set_cookie(ck2)

我手动set 了2个
opener = urllib2.build_opener(urllib2.HTTPCookieProcessor(cookies))
但是访问站点后,还会得到yny 的cookies,导致无法进入主页。。。

大神help啊

37,741

社区成员

发帖
与我相关
我的任务
社区描述
JavaScript,VBScript,AngleScript,ActionScript,Shell,Perl,Ruby,Lua,Tcl,Scala,MaxScript 等脚本语言交流。
社区管理员
  • 脚本语言(Perl/Python)社区
  • WuKongSecurity@BOB
加入社区
  • 近7日
  • 近30日
  • 至今

试试用AI创作助手写篇文章吧