【问题标题】:Bs4 web scraper not providing actual linkBs4网络刮刀不提供实际链接
【发布时间】:2021-08-09 22:47:15
【问题描述】:

我正在尝试从 2lib.org 抓取下载链接,但由于某种原因,打印的链接不是我手动检查它们时显示的链接。这是我的代码 -

import requests
from bs4 import BeautifulSoup


URL = 'https://2lib.org/book/1844071/8add88/'

page = requests.get(URL)
soup = BeautifulSoup(page.content, 'lxml')
for tag in soup.select('a.btn-primary.dlButton.addDownloadedBook'):
  print (f"2lib.org{tag['href']}")

现在,它打印一个以 4da009 结尾的链接,这不是我手动检查站点时得到的链接。我有什么遗漏吗?

谢谢

【问题讨论】:

    标签: python web-scraping beautifulsoup python-requests lxml


    【解决方案1】:

    尝试指定User-Agent:

    import requests
    from bs4 import BeautifulSoup
    
    
    URL = "https://2lib.org/book/1844071/8add88/"
    
    headers = {
        "User-Agent": "Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:88.0) Gecko/20100101 Firefox/88.0"
    }
    
    page = requests.get(URL, headers=headers)
    soup = BeautifulSoup(page.content, "lxml")
    
    for tag in soup.select("a.btn-primary.dlButton.addDownloadedBook"):
        print(f"https://2lib.org{tag['href']}")
    

    打印:

    https://2lib.org/dl/1844071/e50b5e
    

    【讨论】:

    • 不,仍然会导致 ?wrongHash 在 url 上
    • @JohnDuck 你没有在 URL 中得到e50b5e
    • 不,刚刚意识到这取决于您的 IP,每个人都不同。谢谢你。
    猜你喜欢
    • 1970-01-01
    • 2018-05-06
    • 2021-09-07
    • 1970-01-01
    • 1970-01-01
    • 2016-06-08
    • 2015-09-18
    • 1970-01-01
    • 2020-11-04
    相关资源
    最近更新 更多