Я создал простой скрап-проект, в котором я получил общий номер страницы с исходного сайта example.com/full. Теперь мне нужно очистить всю страницу, начиная с example.com/page-2 до 100 (если общее количество страниц равно 100). Как я могу это сделать?
Любой совет будет полезен.
Код:
import scrapy
class AllSpider(scrapy.Spider):
name = 'all'
allowed_domains = ['example.com']
start_urls = ['https://example.com/full/']
total_pages = 0
def parse(self, response):
total_pages = response.xpath("//body/section/div/section/div/div/ul/li[6]/a/text()").extract_first()
#urls = ('https://example.com/page-{}'.format(i) for i in range(1,total_pages))
print(total_pages)
Обновление № 1:
Я пытался использовать это urls = ('https://example.com/page-{}'.format(i) for i in range(1,total_pages))
, но оно не работает, может быть, я делаю что-то не так.
Обновление № 2:
Я изменил свой код, как этот
class AllSpider(scrapy.Spider):
name = 'all'
allowed_domains = ['sanet.st']
start_urls = ['https://sanet.st/full/']
total_pages = 0
def parse(self, response):
total_pages = response.xpath("//body/section/div/section/div/div/ul/li[6]/a/text()").extract_first()
for page in range(2, int(total_pages)):
url = 'https://sanet.st/page-'+str(page)
yield scrapy.Request(url)
title = response.xpath('//*[@class="list_item_title"]/h2/a/span/text()').extract()
print(title)
Но, тем не менее, цикл постоянно показывает только заголовок первой страницы
Мне нужно извлечь заголовок с разных страниц и распечатать его в командной строке.
Как я могу это сделать?