LINUX.ORG.RU
ФорумTalks

Как таблицу распарсить, если она генерируется javascript'ом?

 , , ,


0

2

Как таблицу распарсить, если она генерируется javascript'ом? Использую BS4 и python2. urllib2 таблицу разумеется не видит.



Последнее исправление: cetjs2 (всего исправлений: 1)

Сохранить в браузере я догадался, но так я не могу автоматизировать процесс.

Trieforce
() автор топика

Где-то я видел биндинги для вебкита под питон.

PolarFox ★★★★★
()

Я для таких штук использовал Selenium RC. Но это как из пушки по воробьям.

melkor217 ★★★★★
()

например взять её через lxml.html

f = urllib.urlopen(URL).read()

doc = lxml.html.document_fromstring(f)

e = doc.xpath('//table[not(@class)]//th[text()="Catalog ID"]/../..')[0][:-1]
d = dict((t[0].text, t[1].text_content().strip()) for t in e)

n_play
()

Разобраться откуда её вытаскивает javascript.

Deleted
()
Ответ на: комментарий от shimon

аааа, вон чо. Я думал там просто табличку надо выхватить.

n_play
()
Ответ на: комментарий от vasilenko

да, я тоже хотел про него написать. Новые версии, наконец, научились работать без X'ов (старые приходилось в Xvfb пускать)

maxcom ★★★★★
()

Расковырять файрбагом алгоритм и переписать его на python?

Binary ★★★★★
()

А суп то тут причём?

Может проще из первоисточника данные брать? Яваскрипт ведь не из воздуха таблицу генерит.

Kalashnikov ★★★
()
Ответ на: комментарий от Kalashnikov

Дело в том что я знаю только html и python2, а скрипт мне нужен завтро что бы генерить список груп в которые я могу записаться.

Trieforce
() автор топика
Ответ на: комментарий от yu-boot

В том что я хочу что бы страничка скачивалась автоматом, после запуска javascript.

Trieforce
() автор топика
Ответ на: комментарий от Trieforce

Посмотри фаербагом в консоли запросы, возможно, по взгляду на них всё станет ясно.

Binary ★★★★★
()
Ответ на: комментарий от Tark

не нужны, нужны хэадлес браузеры с жаваскриптом для таких целей

wwwsevolod
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.