Я строю 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()
Веб-страница прекрасно открывается в браузере.
Однако приведенный выше код отлично подходит для чтения Википедии или некоторых других веб-сайтов. Я не могу найти причину этого странного поведения. Пожалуйста, помогите, спасибо заранее.
Кажется, что сайт, который вы посещаете, обнаруживает User-Agent в http-заголовке. Если это так, установка User-Agent заставит его работать. – WKPlus
Я думаю, что, возможно, все данные загружаются js, поэтому вы не можете найти какой-либо контент на странице html. –
@WKPlus: Я попробовал добавить агент пользователя как firefox, ответ все тот же. – wh0