urllib2.Request不返回完整的html行

时间:2014-09-12 18:18:40

标签: python html

我正在尝试使用

下载网站的html源代码
import urllib2
from bs4 import BeautifulSoup
url='http://www.nutritionvalue.org/foods_start_with_A.html'
hdr={'User-Agent':'Mozilla/5.0'}
request = urllib2.Request(url,headers=hdr)
text=urllib2.urlopen(request).read()
soup=BeautifulSoup(text)

如果你查看有问题的html代码,你会看到第283行是超长的,它包含了项目所需的大部分链接。但是,urllib2.Request不会完整地返回该行。有什么问题?

1 个答案:

答案 0 :(得分:-1)

你的缓冲区可能有错误。如果是这种情况,你将需要做的是使用循环在你收到的块中写出结果。

url='http://www.nutritionvalue.org/foods_start_with_A.html'
hdr={'User-Agent':'Mozilla/5.0'}
request = urllib2.Request(url, headers=hdr)
qrequest = urllib2.urlopen(request)
text = ""
chunk = True
    while chunk:
        chunk = qrequest.read(1024)
        text += chunk
    qrequest.close()
soup = BeautifulSoup(text)