【发布时间】:2021-06-20 19:31:50
【问题描述】:
1)我正在尝试抓取存储在 CSV 中的多个 URL 的数据,但结果却没有。
2)我想将获取的数据同时存储在名为df的数据框中,但它只存储一行。
这是我的代码(我在下面粘贴了数据提取开始的地方)-
import csv
df=pd.DataFrame()
with open('test1.csv', newline='', encoding='utf-8-sig' ) as f:
reader = csv.reader(f)
for line in reader:
link = line[0]
print(type(link))
print(link)
driver.get(link)
height = driver.execute_script("return document.body.scrollHeight")
for scrol in range(100,height,100):
driver.execute_script(f"window.scrollTo(0,{scrol})")
time.sleep(0.2)
src = driver.page_source
soup = BeautifulSoup(src, 'lxml')
name_div = soup.find('div', {'class': 'flex-1 mr5'})
name_loc = name_div.find_all('ul')
name = name_loc[0].find('li').get_text().strip()
loc = name_loc[1].find('li').get_text().strip()
connection = name_loc[1].find_all('li')
connection = connection[1].get_text().strip()
exp_section = soup.find('section', {'id': 'experience-section'})
exp_section = exp_section.find('ul')
div_tag = exp_section.find('div')
a_tag = div_tag.find('a')
job_title = a_tag.find('h3').get_text().strip()
company_name = a_tag.find_all('p')[1].get_text().strip()
joining_date = a_tag.find_all('h4')[0].find_all('span')[1].get_text().strip()
exp = a_tag.find_all('h4')[1].find_all('span')[1].get_text().strip()
df['name']=[name]
df['location']=[loc]
df['connection']=[connection]
df['company_name']=[company_name]
df['job_title']=[job_title]
df['joining_date']=[joining_date]
df['tenure']=[exp]
df
输出 -
name location connection company_name job_title joining_date tenure
0 None None None None None None None
我不确定 for 循环是否出错或确切的问题是什么,但对于单个 URL,它可以正常工作。
我是第一次使用美丽的汤,所以我没有适当的知识。请帮助我进行所需的更改。谢谢。
【问题讨论】:
-
剩下的代码在哪里?例如。您有硒代码,但没有导入或实例化。另外,您使用的是什么网址(几个示例)?请参阅 minimal reproducible example 和 How to Ask 以获取有关发布的指导。为了帮助您,我们需要能够在我们自己的机器上重现您的问题。
-
我真的很抱歉先生没有发布我的完整代码,我认为阅读这么长的代码会很困难。请不要因为我的愚蠢错误而删除帖子,这是 csv 和 python 文件 - wetransfer.com/downloads/…
-
不,先生,实际上我的链接存储在 csv 中,但是先生,我已经给了我们将链接转移到那里,您将获得 csv 以及我的完整代码。请仔细阅读,先生,您不必在代码中遇到任何问题
-
@QHarr 先生,可以吗?
-
好的先生,让我尝试为两个网址做这件事
标签: python pandas web-scraping beautifulsoup jupyter-notebook