无法加载页面来刮取文章标签

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了无法加载页面来刮取文章标签相关的知识,希望对你有一定的参考价值。

我试图在这个链接上抓取文章的内容:https://onlinelibrary.wiley.com/doi/full/10.1111/jvim.15224

我使用Selenium加载页面(PhantomJS和Firefox),但我似乎无法获得文章标签。

这行是等待页面加载:

element = WebDriverWait(driver, 20).until(EC.presence_of_element_located((By.CLASS_NAME, "article-section__sub-title section1")))

或者,我也试图等待文章标签加载。

但是,驱动程序会在几秒后继续运行,但每当我检查等待后得到的html时,唯一出现的是“头部”和“正文”标签 - 只是标签,没有内容。

知道我在页面加载和刮取文章标签时做错了什么吗?

答案

要刮除文章标签而不是使用presence_of_element_located(),您需要使用visibility_of_all_elements_located()方法,您可以使用以下解决方案:

  • 代码块: driver.get("https://onlinelibrary.wiley.com/doi/full/10.1111/jvim.15224") tags = WebDriverWait(driver, 20).until(EC.visibility_of_all_elements_located((By.CSS_SELECTOR, "h3.article-section__sub-title.section1"))) for tag in tags: print(tag.text)
  • 控制台输出: Background Objective Animals Methods Results Conclusions and Clinical Importance

以上是关于无法加载页面来刮取文章标签的主要内容,如果未能解决你的问题,请参考以下文章

通过仅下载网页的相关部分来刮取标题

如何更好地循环进入我的网络爬虫?

Scrapy:如何通过AJAX调用刮取第二个HTML页面

选择选项卡或滑动页面时如何加载片段

在C#中刮取动态Web内容

详解Android WebView加载html片段