如何使用Python提取网站中动态生成的链接?
提取动态生成链接的几种简单方法
- 用无头浏览器模拟页面渲染:这类工具会像真实浏览器一样加载页面、执行JavaScript代码,等动态内容生成后再提取链接。比如使用
selenium的示例代码:
from selenium import webdriver from selenium.webdriver.common.by import By driver = webdriver.Chrome() driver.get('https://www.example.com/') # 可根据页面加载情况添加显式等待,确保动态内容生成完毕 links = driver.find_elements(By.TAG_NAME, 'a') for link in links: print(link.get_attribute('href')) driver.quit()
分析页面的网络请求:打开浏览器开发者工具(按F12)切换到「网络」标签,刷新页面后查看XHR/Fetch类型的请求,很多网站会通过这些接口获取动态内容的数据源(通常是JSON格式),直接用
requests调用这些接口,就能从返回的数据里提取链接。解析页面中的JavaScript代码:如果动态链接是通过页面内的JS变量生成的,先用BeautifulSoup提取页面里的
<script>标签内容,再用正则表达式匹配出包含链接的数组、对象或字符串,从中提取目标链接。
内容的提问来源于stack exchange,提问作者Liam Mason
相关产品推荐
相关产品推荐

