【问题标题】:Why does my web scraper not scrape the relevant information?为什么我的网络抓取工具没有抓取相关信息?
【发布时间】:2022-12-20 10:21:44
【问题描述】:

我已经使用 selenium 用 python 构建了一个网络抓取工具。它运行没有错误并打开请求的 url(即使只有一页而不是全部)。 但是代码运行后,没有任何输出。 我使用熊猫创建的 csv 是空的。

看看我的代码,你明白吗,为什么它不抓取项目?

for i in range(0, 10):
    url = 'https://ec.europa.eu/info/law/better-regulation/have-your-say/initiatives?page=' + str(i)
    driver.get(url)
    time.sleep(random.randint(1, 11))
    driver.find_elements(By.CSS_SELECTOR, "initivative-item")
    initiative_list = []
    title = video.find_element(By.XPATH, "./html/body/app-root/ecl-app-standardised/main/div/ng-component/div/section/ux-block-content/div/initivative-item[2]/article/a/div[2]").text
    topic = video.find_element(By.XPATH, ".///html/body/app-root/ecl-app-standardised/main/div/ng-component/div/section/ux-block-content/div/initivative-item[1]/article/a/div[3]/div[2]").text
    period = video.find_element(By.XPATH, ".///html/body/app-root/ecl-app-standardised/main/div/ng-component/div/section/ux-block-content/div/initivative-item[1]/article/a/div[5]/div/div[2]").text
    initiative_item = {
        'title': [title],
        'topic': [topic],
        'period': [period]
    }

    initiative_list.extend(initiative_item)

df = pd.DataFrame(initiative_list) 
print(df) 
df.to_csv('file_name.csv')

我已经检查了 xpaths,它们似乎是正确的,因为它们不会导致任何错误。

【问题讨论】:

  • 您不是在提供的代码中创建 pandas.DataFrame 或 csv。
  • 感谢您的回复。我没有在此处添加它以使其更清楚,因为这不会导致问题。我确实使用熊猫并收到一个空的 csv: df = pd.DataFrame(initiative_list) print(df) df.to_csv('file_name.csv')

标签: python selenium web-scraping xpath


【解决方案1】:

你能确认你的变量titletopicperiod不为空吗?

如果不是,是不是在您的 initiative_list 的周期初始化中的某处设置为 initiative_list = [] ? 这将删除所有已附加到列表中的内容。

【讨论】:

    猜你喜欢
    • 2021-05-15
    • 2011-05-18
    • 1970-01-01
    • 1970-01-01
    • 2019-09-09
    • 2016-05-21
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多