urllib2.Request不返回完整的html文件

2024-04-26 23:33:56 发布

您现在位置:Python中文网/ 问答频道 /正文

我试图下载的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不会完整返回该行。有什么问题?你知道吗


Tags: textfromimporthttpurlhdr源代码网站
1条回答
网友
1楼 · 发布于 2024-04-26 23:33:56

您的缓冲区可能有错误。如果是这样的话,你需要做的是使用一个循环来写出你接收到的结果。你知道吗

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)

相关问题 更多 >