请教一个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())这一行注释之后, 最后一行代码就正常可以运行了, 这是什么呢?
...全文
132 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
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 的回复:
你试试把数据存到文件里呢,会不会数据太多了
在这还碰见了版主了
LongRui888 2017-03-22
  • 打赏
  • 举报
回复
你试试把数据存到文件里呢,会不会数据太多了

87,910

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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