下面的代码生成“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/