我想通過使用pandas.read_html()函數從各個html表通過Transfetmarkt網站刮英語足球統計。如何修改Pandas的Read_html用戶代理?
實施例:
import pandas as pd
url = r'http://www.transfermarkt.co.uk/en/premier-league/gegentorminuten/wettbewerb_GB1.html'
df = pd.read_html(url)
然而此代碼生成「ValueError異常:無效URL」錯誤。
然後我嘗試使用urllib2.urlopen()函數解析同一個網站。這次我得到了一個「HTTPError:HTTP Error 404:Not Found」。在通常的試錯錯誤發現之後,它發現urllib2頭文件向web服務器呈現了一個類似python的代理,我認爲它不能識別。
現在,如果我修改urllib2的代理並使用beautifulsoup讀取它的內容,我可以毫無問題地讀取表格。
例子:
from BeautifulSoup import BeautifulSoup
import urllib2
opener = urllib2.build_opener()
opener.addheaders = [('User-agent', 'Mozilla/5.0')]
url = r'http://www.transfermarkt.co.uk/en/premier-league/gegentorminuten/wettbewerb_GB1.html'
response = opener.open(url)
html = response.read()
soup = BeautifulSoup(html)
table = soup.find("table")
如何修改熊貓的urllib2的頭,讓蟒蛇湊這個網站?
謝謝
你可能想提出了一個問題,在GitHub上。我很高興看一看(我寫了'read_html') –
done - https://github.com/pydata/pandas/issues/4927 – kbgo