为什么不能获取所有的数据啊,就返回了第一页的数据
import scrapy
import re
class AppSpider(scrapy.Spider):
name = "app"
allowed_domains = ["search.jd.com"]
start_urls = ["https://list.jd.com/list.html?cat=1123713%2C3258&page=1&s=1&click=0"]
def parse(self, response):
lis = response.xpath('//*[@id="J_goodsList"]/ul/li')
if len(lis) != 0:
for i in lis:
title = i.xpath('.//div/div[3]/a/em/text()').get()
price = i.xpath('.//div/div[2]/strong/i/text()').get()
print(title, price)
exp = re.compile('page=(\d*?)&s=(\d*?)&')
result = exp.findall(response.url)[0]
page = str(int(result[0])+1)
s = str(int(result[1])+38)
next_url = f"https://list.jd.com/list.html?cat=1123713%2C3258&page={page}&s={s}&click=0"
print(next_url)
yield scrapy.Request(url=next_url, callback=self.parse)6
收起
正在回答 回答被采纳积分+1
1回答

恭喜解决一个难题,获得1积分~
来为老师/同学的回答评分吧
0 星