首页 > 解决方案 > 如何使用 python 从 csv 文件中的 url 列表中抓取文本并将其导出到另一个 csv 文件?

问题描述

我是 python 和 beautifulsoup 的新手,我正在尝试使用它通过使用循环从位于 csv 文件中的多个 url 列表中抓取文本数据,然后将 url 和文本导出到另一个 csv 文件中。该循环从 list1.csv 中定位 url,抓取文本数据并将其与 url 和文本数据一起放入 list2.csv。我下面的代码似乎只执行我的 10 个列表中的前两个 url。

from bs4 import BeautifulSoup 
import requests
import csv

with open("list1.csv", "r") as f_urls, open("list2.csv", "w", newline="") as f_output:
    csv_output = csv.writer(f_output)
    csv_output.writerow(['url', 'text'])

    for url in f_urls:
        url = url.strip()
        html = requests.get(url)
        soup = BeautifulSoup(html.content, "html.parser")
        text = soup.get_text()
        csv_output.writerow([url, text])

我试图通过使用下面的代码来清理文本数据以仅获取内容,但它导致了空白输出。

results = soup.find_all('p')
str_cells = str(results)
cleantext = BeautifulSoup(str_cells, "lxml").get_text()

标签: python-3.xcsvurlbeautifulsoup

解决方案


推荐阅读