Skip to main content
 首页 » 编程设计

python之网页抓取 : request not returning complete content of the webpage

2024年09月07日34dudu

我正在编写一个网站抓取工具,用于从网站内的表格中保存所有加密货币名称。我编写了一个脚本来获取网页的响应,然后使用 BeautifulSoup 库将响应解析为 HTML 对象。问题是响应没有返回网页的完整内容。它显示表格中某个位置的数据并跳过其上方的数据。

当我尝试调试代码时,响应对象包含网页中的所有数据,但当我尝试打印数据时,它只显示页面中特定点的数据。

代码如下:

import requests 
from bs4 import BeautifulSoup 
 
response = requests.get("https://coinmarketcap.com/all/views/all", headers={'User-Agent': 'Mozilla/5.0'}) 
print(response.text) 
 
soup = BeautifulSoup(response.text, 'html.parser') 
 
results = soup.find_all('table', attrs={'id': 'currencies-all'}) 

如果有人能告诉我我做错了什么,那将非常有帮助,因为我无法找出问题所在。

请您参考如下方法:

您是否可能达到了 IDE 控制台的缓冲区限制?

在 Spyder 上,默认值为 500 行,因此您只会看到 500 行源代码。尝试增加此限制以查看是否可以解决您的问题。

在 Spyder (windows) 上,它是 Tools > Preferences > IPython Console > Buffer(在底部)。

我将缓冲区增加到 4000,它仍然不足以容纳整个页面,但它确实显示了更多行。