Я изучаю примеры терапии на https://www.accordbox.com/blog/how-crawl-infinite-scrolling-pages-using-python/
Относительно запроса на доходность кода решения Scrapy там, я очень запутался.
Есть три запрос на доходность с. Иногда Запрос просто генерируется, иногда он генерируется и выполняется, иногда он просто выполняется.
Не могли бы вы посоветовать мне разницу между ними, пожалуйста?
Спасибо!.
def parse_list_page(self, response):
next_link = response.xpath(
"//a[@class='page-link next-page']/@href").extract_first()
if next_link:
url = response.url
next_link = url[:url.find('?')] + next_link
################################
# Generate and Execute Request
################################
yield Request(
url=next_link,
callback=self.parse_list_page
)
for req in self.extract_product(response):
################################
#Just Execute Request
################################
yield req
def extract_product(self, response):
links = response.xpath("//div[@class='col-lg-8']//div[@class='card']/a/@href").extract()
for url in links:
result = parse.urlparse(response.url)
base_url = parse.urlunparse(
(result.scheme, result.netloc, "", "", "", "")
)
url = parse.urljoin(base_url, url)
################################
#Just Generate Request
################################
yield Request (
url=url,
callback=self.parse_product_page
)
def parse_product_page(self, response):
logging.info("processing " + response.url)
yield None