Я новичок в сканировании и сканировании, я пытаюсь извлечь некоторые новости из https://www.lacuarta.com/,, а также просто новости, которые соответствуют тегу san-valentin.
Веб-страница - это просто заголовки сизображение новости, если вы хотите прочитать его, вы должны нажать на новости, и вы попадете на страницу истории (https://www.lacuarta.com/etiqueta/san-valentin/)
Итак, я думаю, что мои шаги:
- Перейти на страницу, которая соответствует тегу, который я хочу, в данном случае san-valentin
- Извлечь URL из новостей
- Перейти на страницу новостей
- Извлечение нужных мне данных
У меня уже есть пункты 1 и 2:
import scrapy
class SpiderTags(scrapy.Spider):
name = "SpiderTags"
def start_requests(self):
url = 'https://www.lacuarta.com/etiqueta/'
tag = getattr(self, 'tag', None)
if tag is not None:
url = url + 'etiqueta/' + tag
yield scrapy.Request(url, self.parse)
def parse(self, response):
for url in response.css("h4.normal a::attr(href)"):
yield{
"link:": url.get()
}
До этого у меня есть ссылки на новости, теперь яне могу понять, как войти в эту новость для извлечения нужных мне данных, а затем вернуться на свою исходную веб-страницу, чтобы перейти на страницу № 2 и повторить все
PD: информация, которую я хочу, уже знает, как ее получить
- Название:
response.css("title::text").get()
- История:
response.css("div.col-md-11 p::text").getall()
- Автор:
response.css("div.col-sm-6 h4 a::text").getall()
- Дата:
response.css("div.col-sm-6 h4 small span::text").getall()