-
动态加载内容:该网页可能是通过 JavaScript 动态加载的,而
requests
无法处理动态内容。因此,直接使用requests
获取到的 HTML 中可能不包含 PDF 链接。 -
HTML 结构不匹配:网页结构可能与你预期的不同,导致
BeautifulSoup
查找不到匹配的标签。你可以检查 HTML 的结构,确保你使用的选择器(例如class_='iconfont iconxiazai'
)正确。
解决方法:
-
检查网页内容:
在代码中打印页面的HTML内容,看看requests.get()
获取到的网页是否包含PDF链接的部分:print(response.text) # 打印获取到的HTML内容
-
使用Selenium处理动态加载的网页:
如果网页使用了动态加载技术(例如AJAX或JavaScript),可以使用Selenium
来模拟浏览器操作,并获取完整的页面内容。
Selenium 示例代码:
以下是如何使用 Selenium
来处理动态加载网页的示例:
安装依赖:
pip install selenium
你还需要下载对应的浏览器驱动(如ChromeDriver),并将其路径加入系统环境变量。
代码示例:
import os
from selenium import webdriver
from bs4 import BeautifulSoup