【发布时间】:2019-03-20 07:34:06
【问题描述】:
我找到了一个程序脚本来用 Python 构建一个专注的爬虫。 该脚本在函数 (google_scrape) 中停止。在这个函数中,每当执行它时我都会遇到错误。 此错误是(列表索引超出范围) 你能帮帮我吗?
# Uses google search engine to find out the results for user query.
def google_scrape(query):
address = "http://www.google.com/search?q=%s&num=100&hl=en&start=0" % (urllib.quote_plus(query))
request = urllib2.Request(address, None, {'User-Agent':'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_7_4) AppleWebKit/536.11 (KHTML, like Gecko) Chrome/20.0.1132.57 Safari/536.11'})
urlfile = urllib2.urlopen(request)
page = urlfile.read()
soup = BeautifulSoup(page)
links = []
count = 0
li = soup.findAll('li', attrs={'class':'g'})
while count < 10:
sLink = li[count].find('a')
links.append(sLink['href'])
count += 1
return links
【问题讨论】:
-
提示:
while count < 10:这很可疑 -
您可以使用
limit设置最大结果数。然后在不使用索引的情况下遍历结果。
标签: python http-headers python-requests web-crawler range