无法抓取动态网页

时间:2020-03-05 17:23:36

标签: python html web-scraping beautifulsoup

我正在尝试刮擦发现https://ark.intel.com/content/www/us/en/ark/search/featurefilter.html?productType=873&1_Filter-Family=595&2_StatusCodeText=4的桌子

我尝试使用BeautifulSoup,但Soup无法解析位于“ body”标签内的信息。尝试解析表时,输出为空。

我该如何解决?

2 个答案:

答案 0 :(得分:1)

此页面使用JavaScript添加数据,但是BeautifulSoup / LXML无法运行JavaScript-如果在浏览器中关闭javaScrip并加载页面,则将看到BeautifulSoup / LXML可以得到什么。

您可能需要Selenium来控制可以运行JavaScript的Web浏览器。

或者您可以尝试在DevTools / Chrome中使用Firefox(标签Network) to get url uses JavaScript ( AJAX / XHR {{1} }要求) to download data. And you can try to use this url with BeautifulSoup`

我发现它使用网址:

https://ark.intel.com/libs/apps/intel/support/ark/advancedFilterSearch?productType=873&1_Filter-Family=595&2_StatusCodeText=4&forwardPath=/content/www/us/en/ark/search/featurefilter.html&pageNo=1

我没有检查and是否需要特殊设置(例如cookie,标题)来获取它。

答案 1 :(得分:0)

您可以使用Puppeteer来“控制”动态网页,并使用BS对其进行抓取。

查看此处:https://github.com/puppeteer/puppeteer/tree/master/examples