【发布时间】:2020-02-29 16:19:20
【问题描述】:
我希望创建一个包含从网站上抓取的数据的 DataFrame。数据被放置在两个列表中 - 职位名称和链接到工作申请页面的 URL。我的目标是然后将它们传递到一个列表中以创建一个 DataFrame,如 https://www.geeksforgeeks.org/different-ways-to-create-pandas-dataframe/ 所示。
list_job_titles = []
list_job_URLs = []
for a in soup.find_all('a', href = re.compile("work-placement-internship")):
URL_from_soup = (a['href'] + " ")
title_from_soup =(a.text.strip())
list_job_titles.append(title_from_soup)
list_job_URLs.append(URL_from_soup)
time.sleep(0.1)
data = [[list_job_titles],[list_job_URLs]]
df = pd.DataFrame(data, columns=['Job title', 'URL'])
我已经测试了脚本的网络抓取方面,它从站点获取了所有需要的信息。但是,在创建 DataFrame 时出现错误:
ValueError: 2 列传递,传递的数据有 1 列
然后我尝试传入一个列标题:
df = pd.DataFrame(data, columns=['Job title'])
我得到的输出:
职位名称
0 [一些职位...
1 [https://someURL...
知道如何将其分成两列,一列用于标题,一列用于 URL
干杯
【问题讨论】:
标签: python python-3.x pandas dataframe beautifulsoup