Различная HTML-структура Twitter для браузеров и веб-браузера Python - PullRequest
0 голосов
/ 07 января 2012

Я работаю над сценарием, который загружает некоторые данные из профилей Twitter.Я обнаружил, что структура HTML в веб-браузере отличается от «робота» на python, потому что когда я открываю страницу через python urllib2 и BeautifulSoup, я получаю разные идентификаторы тегов и классы.Есть ли способ получить тот же контент, что и в веб-браузере?

Он мне нужен для разрешения коротких URL-адресов, поскольку в веб-браузере разрешенные URL-адреса хранятся в атрибуте заголовка ссылки.

Ответы [ 2 ]

1 голос
/ 07 января 2012

Не скрести информацию о профиле в твиттере.Используйте API .Вся ваша программа будет намного более надежной.Это, вероятно, против их TOS, чтобы изменить ваш пользовательский агент и возиться с вещами тоже.

1 голос
/ 07 января 2012

Большинство веб-сайтов адаптируют свой ответ в соответствии с заголовком User-Agent запроса.Если ничего не установлено, очевидно, что это не браузер, а какой-то скрипт.Возможно, вы захотите установить заголовок User-Agent, который чем-то похож на «настоящий» браузер.

Множество способов сделать это описано здесь: Изменение пользовательского агента на urllib2.urlopen и здесь: Извлечение статьи из Википедии с Python

В не связанной ноте вы можете использовать Requests , который является гораздо лучшим API, чем стандартныйurllib2.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...