【问题标题】:Cannot load page to scrape the article tag无法加载页面以抓取文章标签
【发布时间】:2018-08-07 06:22:20
【问题描述】:

我正在尝试在这个链接上抓取文章的内容: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 时,唯一出现的是“head”和“body”标签 - 只是标签,没有它们的内容。

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

【问题讨论】:

  • 试试 headless chrome,phantomjs 现在已经过时了,headless chrome 更快
  • article 标签指的是哪个元素?

标签: python selenium selenium-webdriver screen-scraping article


【解决方案1】:

要抓取文章标签而不是使用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
    

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-09-10
    • 2020-10-22
    • 2018-01-23
    • 1970-01-01
    • 1970-01-01
    • 2020-04-05
    相关资源
    最近更新 更多