gpt4 book ai didi

scrapy - 在scrapy中使用请求有效负载发布请求

转载 作者:行者123 更新时间:2023-12-04 20:01:37 26 4
gpt4 key购买 nike

我怎么能抓取这个website ?我将如何使用有效负载发送发布请求并从中获取数据?

如果我使用此代码,我可以抓取第一页,但如何抓取第二页?我是否需要使用 Selenium 或是否足够scrapy?

import scrapy
from scrapy import log
from scrapy.http import *
import urllib2
class myntra_spider(scrapy.Spider):
name="myntra"
allowed_domain=[]
start_urls=["http://www.myntra.com/men-footwear"]
logfile=open('testlog.log','w')
log_observer=log.ScrapyFileLogObserver(logfile,level=log.ERROR)
log_observer.start()
# sub_category=[]



def parse(self,response):
print "response url ",response.url

link=response.xpath("//ul[@class='results small']/li/a/@href").extract()
print links
yield Request('http://www.myntra.com/search-service/searchservice/search/filteredSearch', callback=self.nextpages,body="")



def nextpages(self,response):
link=response.xpath("//ul[@class='results small']/li/a/@href").extract()
for i in range(10):
print "link ",link[i]

最佳答案

为此,您不需要 Selenium。检查需要与浏览器中的请求一起发送的有效负载,并将其附加到请求中。

我在您的网站上尝试过,以下代码段有效-

def start_requests(self):
url = "http://www.myntra.com/search-service/searchservice/search/filteredSearch"
payload = [{
"query": "(global_attr_age_group:(\"Adults-Unisex\" OR \"Adults-Women\") AND global_attr_master_category:(\"Footwear\"))",
"start": 0,
"rows": 96,
"facetField": [],
"pivotFacets": [],
"fq": ["count_options_availbale:[1 TO *]"],
"sort": [
{"sort_field": "count_options_availbale", "order_by": "desc"},
{"sort_field": "score", "order_by": "desc"},
{"sort_field": "style_store1_female_sort_field", "order_by": "desc"},
{"sort_field": "potential_revenue_female_sort_field", "order_by": "desc"},
{"sort_field": "global_attr_catalog_add_date", "order_by": "desc"}
],
"return_docs": True,
"colour_grouping": True,
"useCache": True,
"flatshot": False,
"outOfStock": False,
"showInactiveStyles": False,
"facet": True
}]
yield Request(url, self.parse, method="POST", body=json.dumps(payload))

def parse(self, response):
data = json.loads(response.body)
print data

关于scrapy - 在scrapy中使用请求有效负载发布请求,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29169119/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com