【发布时间】:2018-04-20 09:50:36
【问题描述】:
我想收集一组关于搜索词“汽车”的专利 ID。我写了这段代码:
import urllib2
from bs4 import BeautifulSoup
import sys
import StringIO
import re
search_term = 'automobile'
patent_list = []
for i in range(100): #for the first 100 pages of results
web_page = 'https://www.lens.org/lens/search?q=' + str(search_term) + '&sat=P&l=en&st=true&p=' + str(i) + '&n=100'
page = urllib2.urlopen(web_page)
soup = BeautifulSoup(page,'html.parser')
for aref in soup.findAll("a",href=True):
if re.findall('/lens/patent',aref['href']):
link = aref['href']
split_link = link.split('/')
if len(split_link) == 4:
patent_list.append(split_link[-1])
print '\n'.join(set(patent_list))
但是,我收到了 503 错误。我用谷歌搜索并找到了它:'
服务器当前无法处理请求,因为 服务器临时超载或维护。'
这是否意味着
- 不要使用算法,而是手动组装 ID,或者
- 将请求分解成更小的块。
如果答案是 (2),我将如何将其分解为更小的请求?
【问题讨论】:
-
这意味着您发布的请求和服务器处理它的方式出现问题,所以不是 1 也不是 2。
标签: beautifulsoup urllib2 urllib