【发布时间】:2021-02-26 15:29:55
【问题描述】:
我正在使用以下代码从工作站点抓取数据并使用 BeautifulSoup 将其写入 csv 文件。我看到抓取代码有效,因为当我打印提取的文件时,它似乎没问题。但是,我无法将抓取的数据打印到 csv 文件中。创建了一个 csv 文件,但在每一列中,只有一些字母,如 a、b、c,而不是描述标题、薪水等的完整单词。有人可以帮我吗?
import requests
import csv
r=requests.get("https://www.reed.co.uk/jobs/accountancy-jobs")
r.content
soup=BeautifulSoup(r.content)
#print(soup.prettify())
soup.find_all("article")
jobs=soup.find_all("article")
for job in jobs:
title=job.h3.text
posterline=job.find("div", attrs={"class":"posted-by"})
poster=posterline.find("a").text
postdate=job.find('div',{'class': 'posted-by'}).next_element
description=job.find("div", attrs={"class":"description"})
metadata=job.find("div", attrs={"class":"metadata"})
metadata=job.find("div", attrs={"class":"metadata"})
salary=metadata.find("li", attrs={"class": "salary"})
salary=salary.text
time=metadata.find("li", attrs={"class": "time"})
datas=(title, salary, time, postdate, poster)
with open('reeddata.csv', 'w', newline='') as file:
writer = csv.writer(file)
headers = ['Title','Salary','Time', 'Postdate','Poster']
writer.writerow(headers)
for data in datas:
writer.writerow(data)
【问题讨论】:
-
您能解释一下您在尝试将数据写入 csv 时遇到什么样的问题吗?是文件没有被创建,文件内的数据没有被写入,还是其他?
-
您好,文件已创建,但每一列中只有一些字母,如 a、b、c,而不是描述标题、薪水等的完整单词。谢谢。
标签: python web-scraping beautifulsoup