Python中带有Beautifulsoup的网页抓取href链接

Python中带有Beautifulsoup的网页抓取href链接,python,beautifulsoup,Python,Beautifulsoup,我正在尝试编写一个网页抓取代码,以获取Linkedin职位的信息,包括职位描述、日期、角色和Linkedin职位的链接。虽然我在获取关于工作岗位的工作信息方面取得了很大的进步,但我目前仍在思考如何获取每个工作岗位的“href”链接。我做了很多尝试,包括使用class driver.find_element_by_class_name,并选择了一个方法,这两种方法都没有通过生成none值来获得“规范”链接。你能给我点光吗 这是我的代码中尝试获取href链接的部分: import reque

我正在尝试编写一个网页抓取代码,以获取Linkedin职位的信息,包括职位描述、日期、角色和Linkedin职位的链接。虽然我在获取关于工作岗位的工作信息方面取得了很大的进步,但我目前仍在思考如何获取每个工作岗位的“href”链接。我做了很多尝试,包括使用class driver.find_element_by_class_name,并选择了一个方法,这两种方法都没有通过生成none值来获得“规范”链接。你能给我点光吗

这是我的代码中尝试获取href链接的部分:

    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