我想爬(輕輕地)一個網站,並下載我抓取的每個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標準,「替換」錯誤處理程序在這裏是多餘的,因爲它永遠不會被需要。 –