Я делаю скрипт, который очищает игры из базы данных Team Liquid от международных игр StarCraft 2. (http://www.teamliquid.net/tlpd/sc2-international/games)
Однако я сталкиваюсь с проблемой. У меня есть сценарий, проходящий по всем страницам, однако сайт Team Liquid использует какой-то AJAX, который я думаю в таблице, чтобы обновить его. Теперь, когда я использую BeautifulSoup, я не могу получить правильные данные.
Итак, я перебираю эти страницы:
http://www.teamliquid.net/tlpd/sc2-international/games#tblt-948-1-1-DESC
http://www.teamliquid.net/tlpd/sc2-international/games#tblt-948-2-1-DESC
http://www.teamliquid.net/tlpd/sc2-international/games#tblt-948-3-1-DESC
http://www.teamliquid.net/tlpd/sc2-international/games#tblt-948-4-1-DESC
и т.д ...
Когда вы открываете их сами, вы видите разные страницы, однако мой скрипт каждый раз получает одну и ту же первую страницу. Я думаю, что это потому, что при открытии других страниц вы видите некоторое время загрузки, которое обновляет таблицу с играми до нужной страницы. Поэтому я думаю, что beatifulsoup работает быстро и должен ждать загрузки и обновления таблицы.
Итак, мой вопрос: Как я могу убедиться, что он занимает обновленную таблицу?
Теперь я использую этот код для получения содержимого таблицы, после чего помещаю содержимое в .csv:
html = urlopen(url).read().lower()
bs = BeautifulSoup(html)
table = bs.find(lambda tag: tag.name=='table' and tag.has_key('id')
and tag['id']=="tblt_table")
rows = table.findAll(lambda tag: tag.name=='tr')