我想爬(轻轻地)一个网站,并下载我抓取的每个HTML页面。为了实现这一点,我使用库请求。我已经完成了抓取列表,并尝试使用urllib.open抓取它们,但是没有用户代理,我收到一条错误消息。所以我选择使用请求,但我不知道如何使用它。Python爬行器:下载HTML页面
headers = {
'User-Agent': 'Mozilla/5.0 (X11; Linux x86_64; rv:2.0.1) Gecko/20100101 Firefox/4.0.1'
}
page = requests.get('http://www.xf.com/ranking/get/?Amount=1&From=left&To=right', headers=headers)
with open('pages/test.html', 'w') as outfile:
outfile.write(page.text)
问题是,当脚本尝试写在我的文件中的回应,我得到一些编码错误:
UnicodeEncodeError: 'ascii' codec can't encode characters in position 6673-6675: ordinal not in range(128)
我们如何写在一个文件,而无需那些编码问题?
UTF-8编码解码器可以编码所有的Unicode标准,“替换”错误处理程序在这里是多余的,因为它永远不会被需要。 –