【问题标题】:Webscrape - Getting link/hrefWebscrape - 获取链接/href
【发布时间】:2023-03-13 14:46:01
【问题描述】:

我正在尝试进入网页并获取每一行的 href/链接。

目前,代码只是打印空白。

预期的输出是打印网页中每一行的 href/link。

import requests
from bs4 import BeautifulSoup

url = 'https://meetings.asco.org/meetings/2022-gastrointestinal-cancers-symposium/286/program-guide/search?q=&pageNumber=1&size=20'

baseurl='https://ash.confex.com/ash/2021/webprogram/'

res = requests.get(url)
soup = BeautifulSoup(res.content,'html.parser')


productlist = soup.find_all('div',class_='session-card')

for b in productlist:
    links = b["href"]
    print(links)


【问题讨论】:

    标签: selenium web-scraping beautifulsoup request


    【解决方案1】:

    会发生什么?

    首先仔细看看你的汤,你找不到你搜索的信息,因为你会被屏蔽。

    您选择中的元素find_all('div',class_='session-card') 也没有直接属性href

    如何解决?

    在您的请求中添加一些标头:

    headers = {'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/62.0.3202.94 Safari/537.36'}
    res = requests.get(url, headers=headers)
    

    在您的迭代中另外选择<a> 以选择链接并获取href

    b.a["href"]
    

    示例

    import requests
    from bs4 import BeautifulSoup
    headers = {'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/62.0.3202.94 Safari/537.36'}
    url = 'https://meetings.asco.org/meetings/2022-gastrointestinal-cancers-symposium/286/program-guide/search?q=&pageNumber=1&size=20'
    
    baseurl='https://ash.confex.com/ash/2021/webprogram/'
    
    res = requests.get(url, headers=headers)
    soup = BeautifulSoup(res.content,'html.parser')
    
    for b in soup.find_all('div',class_='session-card'):
        links = b.a["href"]
        print(links)
    

    【讨论】:

    • 啊不知道你需要“a”。非常感谢您的好先生!
    猜你喜欢
    • 2022-01-15
    • 1970-01-01
    • 2020-04-07
    • 2021-12-03
    • 2020-09-04
    • 2012-04-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多