【问题标题】:Python BeautifulSoup on javascript tables with multiple pages具有多个页面的 javascript 表上的 Python BeautifulSoup
【发布时间】:2012-02-12 12:18:29
【问题描述】:
【问题讨论】:
标签:
javascript
python
screen-scraping
beautifulsoup
【解决方案1】:
最好的办法是运行一个无头浏览器,例如phantomjs,它理解 JavaScript、DOM 等的所有复杂性,但你必须用 Javascript 编写代码,好处是你可以做任何你想做的事,使用解析 html BeautifulSoup 有一段时间很酷,但长期来看会让人头疼。那么,当你可以访问 DOM 时,为什么还要抓取呢
【解决方案2】:
Mechanize 不处理 javascript。
您可以观察单击按钮时发出的请求(使用 Firefox 中的 Firebug 或 Chrome 中的开发者工具)。比尝试反向工程在页面后面运行的 javascript 并尝试使用您的 python 代码做类似的事情,看看Spidermonkey 或
尝试使用Selenium。
Selenium 是一个功能测试框架,它可以让浏览器自动执行某些操作,进而测试代码的底层操作