gpt4 book ai didi

python - 在 BeautifulSoup 中处理无限滚动 UI

转载 作者:行者123 更新时间:2023-12-01 06:32:48 25 4
gpt4 key购买 nike

我正在研究如何抓取 Linkedin 源代码( https://www.linkedin.com/mynetwork/invite-connect/connections/ ),但无限滚动似乎是不可能的。怎么处理呢?我不想使用 Selenium(想稍后实现为 Web 服务)。

import bs4
from bs4 import BeautifulSoup
import requests

def scraping(webpage):
headers = {'User-Agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_10_1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/39.0.2171.95 Safari/537.36'}
response= requests.get(str(webpage), headers=headers)
soup = BeautifulSoup(response.text,"html.parser")
print(soup)

scraping('https://www.linkedin.com/mynetwork/invite-connect/connections')

最佳答案

BeautifulSoup 只能对您提供的 HTML 提供帮助;您需要让 LinkedIn 返回更多 HTML。该内容不在您拥有的 HTML 中,因此您必须获取它。浏览器可能正在运行 LinkedIn 的 javascript 来注意到您正在滚动,因此它需要获取更多内容并在页面中注入(inject)更多 HTML - 您需要以某种方式复制此内容获取。

坏消息:BeautifulSoup 不支持 API 或 javascript。您将需要另一个工具。

好消息:有这方面的工具!您当然可以使用 Selenium,这可能是解决此问题的最简单方法,因为它可以很好地复制浏览器环境来实现这些目的。

如果您绝对致力于不使用 Selenium,我建议您深入研究 LinkedIn 网站,看看是否可以找出哪些 javascript 负责获取更多数据,并复制它们发出的网络请求,以及然后自己解析该数据。

不过,对于大多数人来说,Selenium 将是正确的答案。

关于python - 在 BeautifulSoup 中处理无限滚动 UI,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59811401/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com