почему mechanize не загружает всю страницу?

Я использую Mechanize, чтобы войти в LinkedIn и получить всех сотрудников определенной компании. Однако, когда я загружаю страницу с результатами поиска сотрудников, на ней отсутствует вся середина, и я понятия не имею, почему.

Вот мой код (вынул мою информацию для входа в LinkedIn):

from mechanize import Browser
from bs4 import BeautifulSoup
br=Browser()
br.set_handle_robots(False)
br.open('https://www.linkedin.com/')
br.select_form('login')
br['session_key']=YOUR_EMAIL_HERE
br['session_password']=YOUR_PASSWORD_HERE
response=br.submit()
page=br.open('https://www.linkedin.com/vsearch/p?f_CC=10667')
html=page.read()
soup=BeautifulSoup(html)
text=soup.prettify()
text=text.encode("ascii", "ignore")
fo= open("website.html",'wb')
fo.write(text)
fo.close()

Вот ответ (рекомендую скачать HTML и просто просмотреть его в браузере): http://pastebin.com/7z1dPiTd

Я не уверен, правильно ли я использовал функцию открытия; это может быть проблемой Во всяком случае, заранее спасибо! Если у вас есть какие-либо вопросы, дайте мне знать.


person jped    schedule 25.04.2014    source источник
comment
Вместо этого лучше использовать linkedin api.   -  person alecxe    schedule 26.04.2014
comment
Я изучил это, они не предоставляют никакого способа получить сотрудников компании   -  person jped    schedule 26.04.2014
comment
Эти данные предоставляются AJAX? Если да, то механизация его не увидит.   -  person dilbert    schedule 26.04.2014
comment
@dilbert Я считаю, что это просто HTML   -  person jped    schedule 26.04.2014


Ответы (1)


Хорошо, после некоторых исследований выяснилось, что Mechanize не ждал загрузки Javascript, и поэтому я загружал неправильную информацию. Mechanize не предоставляет метод ожидания Javascript, поэтому я должен использовать ветряную мельницу или селен, чтобы посмотреть на них: здесь и здесь

person jped    schedule 27.04.2014