因此,我对此发布了一个较早的主题,但是我对其进行了一些新的更改。基本上,该网站检测的是网页抓取工具,因此我添加了FireFox用户代理。但是,我的代码似乎仍然失败。它适用于某些证券,但另一些则无效。
注意:我在那里睡了,因为我有一个for循环,用于查看证券清单(代码中未显示)
sec = "BZUN" <- If you replace with ABAC, then it works
print ("Retrieving earnings for ", sec)
url = 'https://seekingalpha.com/symbol/' + sec + '/earnings'
r = requests.get(url, proxies={'http':'62.105.128.174'}, headers={'User-Agent': 'Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:57.0) Gecko/20100101 Firefox/57.0'}).text
s = soup(r, 'lxml')
panel = s.find_all('div', {'class':'panel-heading'})
#summary = s.find_all('div', {'class':'data-container'})
print(s)
time.sleep(7)
print(len(panel))
for item in panel:
period = item.find('span', {'class':'title-period'})
eps = item.find('span', {'class':'eps'})
if (item.text).find("Revenue of") == -1:
revenue = ""
else:
revenue = "Revenue of" + (item.text).split("Revenue of")[1].split("/")[0]
例如,如果我尝试请求安全性“ BZUN”,并且打印出请求结果,则会收到“请单击我不是机器人以继续”。
有什么想法吗?