Я пытаюсь отсканировать веб-сайт «Асахи Симбун», чтобы собрать несколько статей. Но столкновение с некоторой проблемой, так как код не дает желаемых результатов. Ниже приведен код:
import time
import requests
from bs4 import BeautifulSoup
from bs4.element import Tag
url = 'http://www.asahi.com/ajw/search/results/?keywords=Middle%20East&p={}'
base = 'http://www.asahi.com/ajw/'
pages = 10
for page in range(1, pages+1):
res = requests.get(url.format(page))
soup = BeautifulSoup(res.text,"lxml")
for item in soup.select("#SiteSearchResult li > a"):
resp = requests.get(base + item.get("href"))
sauce = BeautifulSoup(resp.text,"lxml")
dateTag = sauce.find("p", {"class": "Title"})
titleTag = sauce.find("h1", {"class": "Title"})
content = [elem.text for elem in sauce.select(".ArticleText p")]
date = None
title = None
if isinstance(dateTag,Tag):
date = dateTag.get_text().strip()
if isinstance(titleTag,Tag):
title = titleTag.get_text().strip()
print(f'{date}\n {title}\n {content}\n')
time.sleep(3)
Как видно из кода, я пытаюсь получить дату, заголовок и содержание статей. Но когда я запускаю этот код, я получаю следующие результаты:
Нет Нет ['', 'Страница не найдена', '\ xa0 \ xa0 \ xa0Вернуться на верхнюю страницу']
Нет Нет ['', 'Страница не найдена', '\ xa0 \ xa0 \ xa0Вернуться к началу страницы']
Я понимаю, что проблема в следующих строках:
for item in soup.select("#SiteSearchResult li > a"):
resp = requests.get(base + item.get("href"))
Но не знаю, как решить эту проблему.
Заранее спасибо!