Я хотел собрать набор идентификаторов патентов по поисковому запросу «автомобиль». Я написал этот код:
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. Я погуглил и нашел: '
В настоящее время сервер не может обработать запрос из-за временной перегрузки или технического обслуживания сервера».
Это значит
- Не используйте алгоритм, вместо этого соберите идентификаторы вручную или
- Разбейте запрос на более мелкие части.
Если ответ (2), как мне разбить это на более мелкие запросы?