有时它会产生输出,有时会产生索引错误

时间:2014-06-02 07:15:43

标签: python python-2.7 web-scraping beautifulsoup

我正在使用此代码在选项卡中打印页面的最后一个链接,当我今天早上运行此代码时它正在打印最后一个链接,但现在当我试图运行它时显示索引错误 这是我的代码

#parsing the url
import urllib2, sys
from bs4 import BeautifulSoup
from mechanize import Browser

site= "http://www.doctoralia.com.au/healthpros"
hdr = {'User-Agent': 'Mozilla/5.0'}
req = urllib2.Request(site,headers=hdr)
page = urllib2.urlopen(req)
soup = BeautifulSoup(page)
last_page = soup.select('ul.pager li.last a')[0]
print last_page

1 个答案:

答案 0 :(得分:2)

这只是一种反网络爬行技术。我已将您的代码放在while True循环中,并在一分钟内得到错误。然后,如果您在Web浏览器中打开一个页面,您将看到验证码检查和消息:

  

检测到滥用

     

我们的系统检测到来自您计算机网络的异常流量。

我的猜测是你经常点击网站。此外,该网站提供API,考虑使用它而不是网页抓取它的HTML页面。

希望有所帮助。