将BeautifulSoup中的数据导出为CSV

时间:2017-09-03 18:07:21

标签: python-2.7 parsing web-scraping beautifulsoup export-to-csv

[免责声明]我在该地区已经经历了很多其他答案,但它们似乎对我不起作用。

我希望能够将我作为CSV文件抓取的数据导出。

我的问题是如何编写将数据输出到CSV的代码片段?

当前代码

import requests
from bs4 import BeautifulSoup 

url = "http://implementconsultinggroup.com/career/#/6257"
r = requests.get(url)

req = requests.get(url).text
soup = BeautifulSoup(r.content)
links = soup.find_all("a")

for link in links:
     if "career" in link.get("href") and 'COPENHAGEN' in link.text:
             print "<a href='%s'>%s</a>" %(link.get("href"), link.text)

代码输出

View Position

</a>
<a href='/career/management-consultants-to-help-our-customers-succeed-with-
it/'>
Management consultants to help our customers succeed with IT
COPENHAGEN • At Implement Consulting Group, we wish to make a difference in 
the consulting industry, because we believe that the ability to create Change 
with Impact is a precondition for success in an increasingly global and 
turbulent world.




View Position

</a>
<a href='/career/management-consultants-within-process-improvement/'>
Management consultants within process improvement
COPENHAGEN • We are looking for consultants with profound
experience in Six Sigma, Lean and operational
management

我尝试过的代码

with open('ImplementTest1.csv',"w") as csv_file:
     writer = csv.writer(csv_file)
     writer.writerow(["link.get", "link.text"])
     csv_file.close()

以CSV格式输出

第1栏:网址链接

第2栏:职位描述

E.g

第1栏:/职业/管理 - 顾问 - 帮助 - 我们的客户 - 成功 - 与 -     它/

第2栏:管理顾问帮助我们的客户成功实现IT     哥本哈根•在实施咨询集团,我们希望有所作为     咨询业,因为我们相信创造变革的能力     with Impact是在日益全球化和成功的过程中取得成功的先决条件     动荡的世界。

1 个答案:

答案 0 :(得分:1)

尝试此脚本并获取csv输出:

import csv ; import requests
from bs4 import BeautifulSoup 

outfile = open('career.csv','w', newline='')
writer = csv.writer(outfile)
writer.writerow(["job_link", "job_desc"])

res = requests.get("http://implementconsultinggroup.com/career/#/6257").text
soup = BeautifulSoup(res,"lxml")
links = soup.find_all("a")

for link in links:
     if "career" in link.get("href") and 'COPENHAGEN' in link.text:
        item_link = link.get("href").strip()
        item_text = link.text.replace("View Position","").strip()
        writer.writerow([item_link, item_text])
        print(item_link, item_text)
outfile.close()