我正在練習使用 Beautifulsoup 并從 Indeed 中抓取資料。我是一個相對新手的 Python 編碼員,并且是 Beautifulsoup 的新手,但我已經能夠弄清楚我想要做的大部分事情,除了在 Indeed 的搜索結果中抓取每個職位發布的 href。大多數資訊都嵌套在這個 div 中,如附圖所示:
Indeed 職位發布示例
我需要的 href 就在 a-tag 的正上方(對于第一次發布,其余發布的位置相似)。似乎作業鏈接都有類似的格式(確實是 url /pagead/ unique identifiers)。到目前為止,我已經能夠通過執行以下操作來獲取這些 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' 類中還有其他 hrefs,所以我覺得我的代碼似乎只是在作業,因為那是第一個 href。我正在嘗試創建一個回圈來獲取所有作業鏈接并將它們附加到我現在卡住的地方,但不知道如何設定它。任何想法/指示?
這是我在 StackOverflow 上的第一篇文章,所以如果我需要添加更多背景關系,請告訴我!提前致謝。
uj5u.com熱心網友回復:
筆記
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 Engeneering&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....
轉載請註明出處,本文鏈接:https://www.uj5u.com/qukuanlian/384563.html
