Я пытался очистить эту страницу .
Я не могу получить "загрузить больше результатов" ("voir plus de résultats" на французском языке) для загрузки вмой объект ответа.
Когда я выполняю очистку, я обычно использую трюк для мониторинга сети, чтобы проверить запросы AJAX
, но когда я нажимаю «загрузить дополнительные результаты», активность не отображается.Вот почему я предполагаю, что результаты уже загружены, но скрыты.
Вот мой код, который возвращает a no clickable element matching clickdata {'href' :"#"}
.
import scrapy
from scrapy.spiders import CrawlSpider, Rule
from scrapy.linkextractors import LinkExtractor
from TopAchat.items import TopachatItem
class TopAchatSpider(CrawlSpider):
name = "TopAchat1"
start_urls = ["https://www.topachat.com/pages/marque.php"]
rules = ( Rule(LinkExtractor(restrict_xpaths=('//*[@id="content"]/section/ul[@class="listProduct"]//a'))),
Rule(LinkExtractor(restrict_xpaths=("//li[@class='link-visible']//a","//li[@class='display: list-item']//a")),callback='parse_item'),
)
def parse_item(self, response):
item = TopachatItem()
item["brandname"] = response.xpath("//div[@class='small']/div/text()").extract_first()[4:].split(" ")[0]
item["href"] = response.request.url
item["name"] = response.xpath("//div[@class='libelle']/h1/text()").extract_first()
item["specs"] = response.xpath("//strong[@class='big short-descr']/text()").extract_first()
item["product_type"] = response.xpath("//nav[@class='meta small']//p//b/text()").extract_first()
return item,scrapy.FormRequest.from_response(
response,
clickdata = {'href' :"#"})
Я знаю, что есть и другие способыочистить данные (а именно Selenium
), но мне кажется, что я упускаю что-то очевидное, и я не могу найти это.
Любая помощь очень ценится!