Я пытаюсь разобрать некоторые страницы, используя BeautifulSoup , но для некоторых ссылок открыватель не работает.Вот код для открывания:
class URLopener(urllib.request.FancyURLopener):
version = "Mozilla/5.0"
def http_error_default(self, url, fp, errcode, errmsg, headers):
if errcode == 403:
raise ValueError("403")
return super(URLopener, self).http_error_default(
url, fp, errcode, errmsg, headers
)
Теперь, когда он пытается открыть и проанализировать некоторые страницы с этим кодом:
opener = URLopener()
page = opener.open(url)
soup = BeautifulSoup(page.read(), features='lxml')
links = soup.findAll("a", href=True)
, он работает нормально.Но когда он попадает на такую ссылку:
http://scholar.google.com/citations%3Fview_op%3Dsearch_authors%26hl%3Den%26mauthors%3Dlabel:deep_learning
, он внезапно останавливается и выдает ошибку:
Как отфильтровать найденные страницы, чтобы избежать этой проблемы?Я не обязательно хочу, чтобы все страницы в результатах поиска.