gpt4 book ai didi

python - 如何根据从网站上抓取的数据创建数据框?

转载 作者:太空宇宙 更新时间:2023-11-04 09:31:38 25 4
gpt4 key购买 nike

我正在尝试从职位发布数据中抓取网站,输出如下所示:

[{'job_title': 'Junior Data Scientist','company': '\n\n BBC', summary': "\n We're now seeking a Junior Data Scientist to come and work with our Marketing & Audiences team in London. The Data Science team are responsible for designing...", 'link': 'www.jobsite.com',
'summary_text': "Job Introduction\nImagine if Netflix, The Huffington Post, ESPN, and Spotify were all rolled into one....etc

我想创建一个数据框或 CSV,如下所示:

Expected Output

现在,这是我正在使用的循环:

for page in pages:
source = requests.get('https://www.jobsite.co.uk/jobs?q=data+scientist&start='.format()).text
soup = BeautifulSoup(source, 'lxml')

results = []
for jobs in soup.findAll(class_='result'):
result = {
'job_title': '',
'company': '',
'summary': '',
'link': '',
'summary_text': ''
}

在使用循环之后,我只打印结果。

在数据框中获取输出的好方法是什么?谢谢!

最佳答案

查看pandas Dataframe API .有几种方法可以初始化数据框

  • 词典列表
  • 列表列表

您只需将列表或字典附加到全局变量,就可以开始了。

results = []
for page in pages:

source = requests.get('https://www.jobsite.co.uk/jobs?q=data+scientist&start='.format()).text
soup = BeautifulSoup(source, 'lxml')


for jobs in soup.findAll(class_='result'):
result = {
'job_title': '', # assuming this has value like you shared in the example in your question
'company': '',
'summary': '',
'link': '',
'summary_text': ''
}
results.append(result)
# results is now a list of dictionaries
df= pandas.DataFrame(results)

另一个建议,不要考虑将其转储到同一程序的数据框中。首先将所有 HTML 文件转储到一个文件夹中,然后再次解析它们。这样,如果您需要之前未考虑过的页面中的更多信息,或者如果程序由于某些解析错误或超时而终止,则工作不会丢失。将解析与抓取逻辑分开。

关于python - 如何根据从网站上抓取的数据创建数据框?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55508418/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com