python - 将 Python 抓取结果导出到 CSV

标签 python csv export-to-csv

下面的代码生成“resultStats”ID 的值,我想将其保存在 CSV 文件中。有没有什么聪明的方法可以在 CSV 的 A 列中包含“desired_google_queries”(即搜索词),在 B 列中包含“resultStats”值?

我看到有很多关于此主题的主题,但我读过的解决方案均不适用于特定情况。

from bs4 import BeautifulSoup
import urllib.request
import csv

    desired_google_queries = ['Elon Musk' , 'Tesla', 'Microsoft']

for query in desired_google_queries:

    url = 'http://google.com/search?q=' + query

    req = urllib.request.Request(url, headers={'User-Agent' : "Magic Browser"})
    response = urllib.request.urlopen( req )
    html = response.read()

    soup = BeautifulSoup(html, 'html.parser')

    resultStats = soup.find(id="resultStats").string
    print(resultStats)

最佳答案

我冒昧地重写了这个以使用 Requests库而不是 urllib,但这显示了如何进行 CSV 写入,我认为您对此更感兴趣:

from bs4 import BeautifulSoup
import requests
import csv

desired_google_queries = ['Elon Musk' , 'Tesla', 'Microsoft']
result_stats = dict()

for query in desired_google_queries:
    url = 'http://google.com/search?q=' + query
    response = requests.get(url)
    html = response.text
    soup = BeautifulSoup(html, 'html.parser')
    result_stats[query] = soup.find(id="resultStats").string

with open ('searchstats.csv', 'w', newline='') as fout:
    cw = csv.writer(fout)
    for q in desired_google_queries:
        cw.writerow([q, result_stats[q]])

关于python - 将 Python 抓取结果导出到 CSV,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54563861/

相关文章:

python - 比较给定给python中的键的多个值

python - 使用 Python 的 CSV 库将数组打印为 csv 文件

python - 在导入 python 时。 ImportError : libcublas. so.9.0: 无法打开共享对象文件: 没有那个文件或目录

Python - 导入错误

parsing - 从 CSV 中删除行

带有未转义引号的 Java CSV 解析器

python - 给定属性查找另一个属性的值

php - 使用 PHP 将 MySQL 数据导出到 .csv

c# - CsvHelper 不将数据写入内存流

python - Pandas 加入与添加列