请教一个Python爬虫问题

zaixiankaifa 2017-03-22 12:13:50
一个用Python写的简单爬虫程序:

import urllib2
url = "http://www.126.com"

request = urllib2.Request(url)
request.add_header("user-agent","safari/10.0.3")
response = urllib2.urlopen(request)

print len(response.read())
print response.getcode()
print response.read()
运行结果:
97571
200
运行的时候最后一行代码 :print response.read() 不运行, 不知道为啥. 但是把print len(response.read())这一行注释之后, 最后一行代码就正常可以运行了, 这是什么呢?
...全文
91 点赞 收藏 4
写回复
4 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
sanGuo_uu 2017-03-22
引用
print response.read() 不运行
你怎么知道它没运行?说不定它就是空的呢。(也行你会说,它明明就不是空的啊) html=response.read() 把它存下来,再调用。就好了。
回复
zaixiankaifa 2017-03-22
引用 2 楼 sinat_28984567 的回复:
response.read() 这句是不是代表着已经把内容读完了,不能读取第二次。 PS: [quote=引用 1 楼 yupeigu 的回复:] 你试试把数据存到文件里呢,会不会数据太多了
在这还碰见了版主了[/quote] 好像是跟seek()有关系的, read()之后指针偏移值就不再是0了,所以读取不到
回复
二月十六 2017-03-22
response.read() 这句是不是代表着已经把内容读完了,不能读取第二次。 PS:
引用 1 楼 yupeigu 的回复:
你试试把数据存到文件里呢,会不会数据太多了
在这还碰见了版主了
回复
你试试把数据存到文件里呢,会不会数据太多了
回复
相关推荐
发帖
JavaScript
创建于2007-09-28

8.5w+

社区成员

Web 开发 JavaScript
申请成为版主
帖子事件
创建了帖子
2017-03-22 12:13
社区公告
暂无公告