rag*_*itk 5 python web-scraping python-webbrowser
我有一个网页: http://kff.org/womens-health-policy/state-indicator/ultrasound-requirements/# ,我需要从该网页中提取表格。
遇到的问题:我一直在使用BeautifulSoup并请求获取url内容。这些方法的问题是,我什至可以在生成表格之前获取 Web 内容。
所以我得到空表<table><thead></thead><tbody></tbody></table>
我的方法:现在我尝试使用 webbrowser.open_new_tab(url) 在浏览器中打开 url,然后直接从浏览器获取内容。这将使服务器更新表,然后我将能够从页面获取内容。
问题:我不确定如何直接从 Web 浏览器获取信息。
现在我在Windows系统上使用Mozilla。
找到最近的链接网站 链接。但它给出了哪些网站被打开,而不是内容
有没有其他方法可以让表加载到 urllib2 或 beautifulsoup 和 requests 中?或者有什么方法可以直接从网页获取加载的内容。
谢谢
要添加 Santiclause 答案,如果你想抓取 java 脚本填充的数据,你需要一些东西来执行它。
为此,您可以使用 selenium 包和 Webdriver(例如 Firefox 或 PhantomJS(无头))连接到页面、执行脚本并获取数据。
您的案例示例:
from selenium import webdriver
driver = webdriver.Firefox() # You can replace this with other web drivers
driver.get("http://kff.org/womens-health-policy/state-indicator/ultrasound-requirements/#")
source = driver.page_source # Here is your populated data.
driver.quit() # don't forget to quit the driver!
Run Code Online (Sandbox Code Playgroud)
当然,如果你可以像用户 Santiclause 提到的那样直接访问 json,你应该这样做。您可以通过在检查网站上的元素时检查网络选项卡来找到它,这需要一些尝试。