如何使用带有Scrapy的admin-ajax.php从网站中抓取数据

如何使用带有Scrapy的admin-ajax.php从网站中抓取数据,php,python,ajax,web-scraping,scrapy,Php,Python,Ajax,Web Scraping,Scrapy,我试图在该网站上搜集有关unibet赌场的评论: 正如我对其他评论源所做的那样,我使用Python上的Scrapy来使用下面的代码刮取评论: class slotRunner_spyder(scrapy.Spider): count=0 name = "slotRunner_spyder" start_urls = [ 'https://casinoplacard.com/unibet-casino-reviews-and-bonuses/' ] def parse(self,

我试图在该网站上搜集有关unibet赌场的评论:

正如我对其他评论源所做的那样,我使用Python上的Scrapy来使用下面的代码刮取评论:

class slotRunner_spyder(scrapy.Spider):
count=0

name = "slotRunner_spyder"
start_urls = [

       'https://casinoplacard.com/unibet-casino-reviews-and-bonuses/'
]
def parse(self, response):

    parsed_uri = urlparse(response.url)
    domain = '{uri.scheme}://{uri.netloc}/'.format(uri=parsed_uri)

    for review in response.css('div.rwp-users-reviews > div.rwp-u-review') :
        self.count+=1
        yield {
            'name': review.css('td a::text').extract_first(),
            'date': review.css('td small::text').extract_first(),
            'review': review.css('div.rwp-u-review__content > div.rwp-u-review__comment').extract(),
            'url' : response.url
        }
    print(self.count)
但对于那个网站来说,它不起作用。为了更好地理解,我引入了计数器(self.count),并发现它只进行了1次迭代,这是不正常的

然后,我花了一些时间研究了该网站的开发工具,发现在加载页面时,会自动使用URL执行XHR POST请求方法:

通过调查该请求,我发现182条评论数据如下:

预览>>数据>>评论

所以你们能帮我理解它是如何捕捉这些数据的吗


多谢各位

我终于找到了这样做的方法,我相信这不是最好的方法,但至少我做了我想做的事

因此,正如我在“预览”选项卡的问题中所说的,有我需要的所有数据。所以我要做的就是获取这些数据。为此,我理解当加载URL时,XHR POST请求是自动发出的,所以我只是试图强制python请求该URL

import requests
s = requests.Session()
# We get the URL into that session
s.get(url)
#Here is the imitation of the POST request 
self.r = s.post(ajax_URL,data=param,headers=headers)`
您只需从DevTool的headers选项卡获取参数,然后表单数据就是您的参数。对于在标题选项卡中获得的标题,您可以搜索 用户代理,只需将所有内容粘贴到标题中。ajax URL就是我在问题中写的

希望这能帮助别人