gpt4 book ai didi

python - 需要向下滚动时进行网页抓取

转载 作者:太空宇宙 更新时间:2023-11-03 21:12:05 26 4
gpt4 key购买 nike

我想抓取网页 https://www.quora.com/topic/Stack-Overflow-4/all_questions 下前 200 个问题的标题。我尝试了以下代码:

import requests
from bs4 import BeautifulSoup

url = "https://www.quora.com/topic/Stack-Overflow-4/all_questions"
print("url")
print(url)
r = requests.get(url) # HTTP request
print("r")
print(r)
html_doc = r.text # Extracts the html
print("html_doc")
print(html_doc)
soup = BeautifulSoup(html_doc, 'lxml') # Create a BeautifulSoup object
print("soup")
print(soup)

它给了我一条短信 https://pastebin.com/9dSPzAyX 。如果我们搜索href='/,我们可以看到该html确实包含一些问题的标题。但问题是数量不够;实际上在网页上,用户需要手动向下滚动来触发额外负载

有谁知道我如何通过程序模仿“向下滚动”来加载页面的更多内容?

最佳答案

网页上的无限滚动基于 Javascript 功能。因此,为了找出我们需要访问什么 URL 以及使用什么参数,我们需要彻底研究页面内部的 JS 代码,或者最好检查当您向下滚动页面时浏览器发出的请求。我们可以使用开发人员工具研究请求。 See example for quora

向下滚动得越多,生成的请求就越多。因此,现在您的请求将针对该网址而不是普通网址完成,但请记住发送正确的 header 和播放负载。

其他更简单的解决方案是使用 Selenium

关于python - 需要向下滚动时进行网页抓取,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54994689/

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