나는 pandas.read_html() 함수를 사용하여 Transfetmarkt 웹 사이트를 통해 다양한 html 테이블에서 잉글랜드 축구 통계를 긁어 내려고하고 있습니다.팬더의 Read_html 사용자 에이전트를 수정하는 방법은 무엇입니까?
예 : "잘못된 URL ValueError를" 오류
import pandas as pd
url = r'http://www.transfermarkt.co.uk/en/premier-league/gegentorminuten/wettbewerb_GB1.html'
df = pd.read_html(url)
그러나이 코드는 를 생성합니다.
그런 다음 urllib2.urlopen() 함수를 사용하여 동일한 웹 사이트를 구문 분석하려고했습니다. 이번에는 "HTTPError : HTTP 오류 404 : 찾을 수 없습니다". 일반적인 시행 착오 오류 발견 후 urllib2 헤더가 웹 서버에 에이전트와 같은 python을 제공한다는 것을 알았지 만, 나는 인식하지 못한다.
urllib2의 에이전트를 수정하고 beautifulsoup를 사용하여 내용을 읽으면 문제없이 테이블을 읽을 수 있습니다.
예 : 나는 파이썬이 웹 사이트를 긁어 할 수 있도록 팬더의 urllib2가 헤더를 수정하려면 어떻게
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")
?
감사합니다.
당신은 GitHub의에 문제를 통해 넣어 할 수 있습니다. 나는 (read_html을 썼다.) –
done - https://github.com/pydata/pandas/issues/4927 – kbgo