Python中带有Beautifulsoup的网页抓取href链接
我正在尝试编写一个网页抓取代码,以获取Linkedin职位的信息,包括职位描述、日期、角色和Linkedin职位的链接。虽然我在获取关于工作岗位的工作信息方面取得了很大的进步,但我目前仍在思考如何获取每个工作岗位的“href”链接。我做了很多尝试,包括使用class driver.find_element_by_class_name,并选择了一个方法,这两种方法都没有通过生成none值来获得“规范”链接。你能给我点光吗 这是我的代码中尝试获取href链接的部分:Python中带有Beautifulsoup的网页抓取href链接,python,beautifulsoup,Python,Beautifulsoup,我正在尝试编写一个网页抓取代码,以获取Linkedin职位的信息,包括职位描述、日期、角色和Linkedin职位的链接。虽然我在获取关于工作岗位的工作信息方面取得了很大的进步,但我目前仍在思考如何获取每个工作岗位的“href”链接。我做了很多尝试,包括使用class driver.find_element_by_class_name,并选择了一个方法,这两种方法都没有通过生成none值来获得“规范”链接。你能给我点光吗 这是我的代码中尝试获取href链接的部分: import reque
import requests
from bs4 import BeautifulSoup
url = https://www.linkedin.com/jobs/view/manager-risk-management-at-american-express-2545560153?refId=tOl7rHbYeo8JTdcUjN3Jdg%3D%3D&trackingId=Jhu1wPbsTyRZg4cRRN%2BnYg%3D%3D&position=1&pageNum=0&trk=public_jobs_job-result-card_result-card_full-click
reqs = requests.get(url)
soup = BeautifulSoup(reqs.text, 'html.parser')
urls = []
for link in soup.find_all('link'):
print(link.get('href'))
链接:
存储href链接的代码的图片
我认为您试图错误地访问
href
属性,要访问它们,请使用对象[“属性名称”]
这对我来说很有用,只搜索rel=“canonical”
中的链接:
的属性为rel=“canonical”
。您可以使用CSS选择器:[rel=“canonical”]
获取值
要使用CSS选择器,请使用方法而不是find()
输出:
https://www.linkedin.com/jobs/view/manager-risk-management-at-american-express-2545560153?refId=tOl7rHbYeo8JTdcUjN3Jdg%3D%3D&trackingId=Jhu1wPbsTyRZg4cRRN%2BnYg%3D%3D
您是否使用了
selenium
?请与它分享你的尝试
import requests
from bs4 import BeautifulSoup
url = "https://www.linkedin.com/jobs/view/manager-risk-management-at-american-express-2545560153?refId=tOl7rHbYeo8JTdcUjN3Jdg%3D%3D&trackingId=Jhu1wPbsTyRZg4cRRN%2BnYg%3D%3D&position=1&pageNum=0&trk=public_jobs_job-result-card_result-card_full-click"
reqs = requests.get(url)
soup = BeautifulSoup(reqs.text, 'html.parser')
print(soup.select_one('[rel="canonical"]')['href'])
https://www.linkedin.com/jobs/view/manager-risk-management-at-american-express-2545560153?refId=tOl7rHbYeo8JTdcUjN3Jdg%3D%3D&trackingId=Jhu1wPbsTyRZg4cRRN%2BnYg%3D%3D