웹 페이지에서 링크를 읽어야하는 webCrawler를 만들고 있습니다. 내가 웹 사이트를 열고 읽을 수있는 Python의 urllib2 라이브러리를 사용하고 있습니다.HTML 콘텐츠를 읽을 수 없습니다.
데이터를 가져올 수없는 웹 사이트를 발견했습니다. URL은 위의 코드, 나는 위에서 얻을 나는 브라우저에서 열면 내가 웹 사이트에서 얻을 내용과 컨텐츠를 실행하여 "http://www.biography.com/people/michael-jordan-9358066"
내 코드,
import urllib2
response = urllib2.urlopen("http://www.biography.com/people/michael-jordan-9358066")
print response.read()
입니다 코드가 매우 다릅니다. 위 코드의 콘텐츠에는 데이터가 포함되어 있지 않습니다.
웹 페이지를 읽는 데 지연이있을 수 있다고 생각하여 지연을 도입했습니다. 지연 후에도 응답은 동일합니다.
response = urllib2.urlopen("http://www.biography.com/people/michael-jordan-9358066")
time.sleep(20)
print response.read()
웹 페이지는 브라우저에서 완벽하게 열립니다.
그러나 위 코드는 Wikipedia 또는 일부 다른 웹 사이트를 읽는 데 적합합니다. 이상한 행동의 원인을 찾을 수 없습니다. 미리 감사드립니다.
방문한 사이트가 http 헤더에서 User-Agent를 감지 한 것으로 보입니다. 그렇다면 User-Agent를 설정하면 제대로 작동합니다. – WKPlus
아마 모든 데이터가 js에 의해로드되어 HTML 페이지에서 내용을 찾을 수 없다고 생각합니다. –
@WKPlus : 사용자 에이전트를 firefox로 추가하려고 시도했지만 응답은 여전히 동일합니다. – wh0