我正在编写一个网站抓取工具,用于从网站内的表格中保存所有加密货币名称。我编写了一个脚本来获取网页的响应,然后使用 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,它仍然不足以容纳整个页面,但它确实显示了更多行。
