如何在 Python 中使用 Beautifulsoup 从 Indeed 搜索中获取所有招聘信息的 href?
Posted
技术标签:
【中文标题】如何在 Python 中使用 Beautifulsoup 从 Indeed 搜索中获取所有招聘信息的 href?【英文标题】:How do I grab the hrefs of all the job postings in a search from Indeed using Beautifulsoup in Python? 【发布时间】:2022-01-19 23:52:33 【问题描述】:我正在练习使用 Beautifulsoup 并从 Indeed 上抓取数据。我是一个相对新手的 Python 编码器,并且是 Beautifulsoup 的新手,但我已经能够弄清楚我想要做的大部分事情,除了在 Indeed 上的搜索结果中抓取每个职位发布的 href。大部分信息都嵌套在这个 div class="job_seen_beacon" 中,如附图所示:
Indeed Job Posting Example
我需要的 href 就在 a-tag 的正上方(对于第一个帖子,其余帖子的位置相似)。似乎工作链接都具有相似的格式(实际上是 url + /pagead/+唯一标识符)。到目前为止,我已经能够通过以下方式获取这些href中的第一个:
link1 = soup.find('a','class':'tapItem').get('href')
indeed_link='https://indeed.com'
job_full_link=indeed_link + link1
返回:
https://indeed.com/pagead/clk?mo=r&ad=-6NYlbfkN0BYwoYS5IKUNHtA0a2VJhnZaPA0uEqIlEtc2XBlIiwK2z_X_68BR8FDAa4lu8N0xeCPwzwEnA8fXiK4iQSEmPwTPepfI6vD2vAIjZkkxpjBBMQUv338KUlip1EOk09_cn2LwmJdZfFHW0-AI7SZQhu1kIQsWTuRTOsU1vuAYvarCELllpMjt_GHp_65BONysimbVWU32exjeilFXm_q51osn1zTWwhznG16bEYsjNkVT231ngYVuvoC3RBW5qn2IB0yR0T3ppMCF4nVaIMUg2yvjXVLsbdbNYgj_ckFk4jrStGLrXIoTrozdnqm3fxToPHdshPAVD7771cWJDflltxdMjmVEdP2f74y2Gc1IAJBaNtq-GweslVoetCVqneDAWtDx4fDODfUv44tpOPE3rZycEp6SLUjAjcYpUW9qG5AJjaUOIU6MwVxZe6Xi1nECNwvoZrEpYXkCBvC3KbMg4DdMhoni660wPq8oW4DXKuz0ffj50lr_cNu&p=0&fvj=1&vjs=3
对于初学者,我不确定这是最好的方法。该“tapItem”类中还有其他href,所以我觉得我的代码似乎只是在工作,因为那是第一个href。我正在尝试创建一个循环来捕获所有工作链接并附加它们,这是我现在卡住的地方,不知道如何设置它。有什么想法/指针吗?
这是我在 *** 上的第一篇文章,如果我需要添加更多上下文,请告诉我!提前致谢。
【问题讨论】:
【参考方案1】:注意
find()
/ select_one()
只返回第一次出现的选择
find_all()
/ select()
返回可以通过您的选择找到的所有匹配项的结果集
如何解决?
使用find_all()
/ select()
生成一个可以稍后迭代的结果集
示例
import requests
from bs4 import BeautifulSoup
html = requests.get('https://de.indeed.com/Jobs?q=Data%20Engeneering&from=sug&vjk=7fb07edbe78d1d3a').text
soup = BeautifulSoup(html, 'lxml')
indeed_link='https://indeed.com'
links = [indeed_link+a['href'] for a in soup.select('a.tapItem')]
for link in links:
do something....
【讨论】:
太棒了,这正是我需要的。非常感谢!以上是关于如何在 Python 中使用 Beautifulsoup 从 Indeed 搜索中获取所有招聘信息的 href?的主要内容,如果未能解决你的问题,请参考以下文章
python beautifulsoup获取特定html源码
如何用 Beautifulsoup 解析“数据文本”? [复制]