使用BeautifulSoup进行网页抓取时出现属性错误

问题描述

我正在尝试使用BeautifulSoup和Python从'etherscan.io'抓取数据。这是网站:https://etherscan.io/txs

page_soups = []
for page in range(1,51):
  url = 'https://etherscan.io/txs?p=' + str(page)
  print(url)
  req = Request(url,headers={'User-Agent': 'Mozilla/5.0'})
  webpage = urlopen(req).read()
  page_soup = soup(webpage,"html.parser").find('tbody').find_all('a')
  page_soups += page_soup

我使用循环抓取多个网页,但我只能从前30个页面获取数据。第31个错误如下

Error

我检查了该网页,发现它仍然具有与其他网页相同的标记和元素。请帮助我。

解决方法

由于Cloudflare的缘故,我将其添加到了循环中:

if page%30 == 0:
    time.sleep(20)

显然,每30页等待20秒就足以不被标记为漫游器。

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...