Web scraping 刮新-如何刮整个网站

Web scraping 刮新-如何刮整个网站,web-scraping,scrapy,Web Scraping,Scrapy,我是个新手。目前,我正在努力浏览以下网站: 你可以在下面找到我当前的代码。然而,正如你从网站上看到的,每次你访问它时,它只会加载前10条条目。我想刮所有的用户名和用户网址 到目前为止,我调查的是,页面发送一个新的请求来加载接下来的10个条目 https://blogabet.com/tipsters/?f[language]=all&f[pickType]=all&f[sport]=all&f[sportPercent]=&f[leagues]=all&f

我是个新手。目前,我正在努力浏览以下网站:

你可以在下面找到我当前的代码。然而,正如你从网站上看到的,每次你访问它时,它只会加载前10条条目。我想刮所有的用户名和用户网址

到目前为止,我调查的是,页面发送一个新的请求来加载接下来的10个条目

https://blogabet.com/tipsters/?f[language]=all&f[pickType]=all&f[sport]=all&f[sportPercent]=&f[leagues]=all&f[picksOver]=0&f[lastActive]=12&f[bookiesUsed]=null&f[bookiePercent]=&f[order]=followers&f[start]=10

我的问题是:如何创建一个循环来刮取所有用户名和网站

import scrapy
from scrapy import Request
from scrapy.http import Request
from aufgehts.items import AufgehtsItem

class BlogmeSpider(scrapy.Spider):
    name = 'blogme'


    def start_requests(self):

        url = "https://blogabet.com/tipsters/?f[language]=all&f[pickType]=all&f[sport]=all&f[sportPercent]=&f[leagues]=all&f[picksOver]=0&f[lastActive]=12&f[bookiesUsed]=null&f[bookiePercent]=&f[order]=followers&f[start]=0"

        headers={
            'Accept': '*/*',
            'Accept-Encoding': 'gzip, deflate, br',
            'Accept-Language': 'en-US,en;q=0.9,pl;q=0.8,de;q=0.7',
            'Connection': 'keep-alive',
            'Host': 'blogabet.com',
            'Referer': 'https://blogabet.com/tipsters',
            'User-Agent': 'Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/65.0.3325.181 Safari/537.36',
            'X-Requested-With': 'XMLHttpRequest'
        }

        yield scrapy.http.Request(url, headers=headers)



    def parse(self, response):

        listenings = response.xpath('//*[@class="tipster-info col-lg-10 no-padding"]')

        for listening in listenings:
            username = listening.xpath('.//h3[@class="name-t u-db u-mb1"]/strong/text()').extract_first()
            link = listening.xpath('.//*[@class="e-mail u-db u-mb1 text-ellipsis"]/a/@href').extract_first()
            #registered = listening.xpath('.//[@class="col-sh-4 col-xs-2 col-lg-2 no-padding"]')

            yield {'Username': username,
                  'Link': link}

        next_page = response
            if next_page is not None:
                next_page = response.urljoin(

我检查了您尝试实现分页的网站。URL中有一个属性[start]。如果您检查多个请求,您会注意到它在每次迭代中都会增加10。在这里,您可以创建一个循环,其中10增加到现有的数字,然后启动请求。您可以使用from w3lib.url import的库添加或替换参数,并通过在每次迭代中将参数增加10来更改参数。您可以更改现有的response.url,并使用from scrapy.import Request通过它创建请求

剩下的问题是循环应该在哪里结束?我没有回答这个问题,而是留给你了。祝你好运