当前位置: 首页 > news >正文

Python爬虫——scrapy_多网页下载

  1. 在DangSpider类中设置一个基础url
base_url = 'http://category.dangdang.com/pg'
page = 1
  1. 在parse方法中
# 每一页的爬取逻辑都是一样的,所以只需要执行每一页的请求再次调用parse方法就可以了if self.page < 100:self.page += 1url = self.base_url + str(self.page) + '-cp01.01.07.00.00.00.html'# 调用parse方法# scrapy.Request就是scrapy的get请求# url就是请求地址 callback就是要执行的那个函数  注意不要加()yield scrapy.Request(url=url, callback=self.parse)

完整的dang.py

import scrapy
from ..items import ScrapyDangdang39Itemclass DangSpider(scrapy.Spider):name = "dang"allowed_domains = ["category.dangdang.com"]start_urls = ["http://category.dangdang.com/cp01.01.07.00.00.00.html"]base_url = 'http://category.dangdang.com/pg'page = 1def parse(self, response):# 所有的seletor的对象,都可以再次调用xpath方法li_list = response.xpath('//div[@id="search_nature_rg"]//li')for li in li_list:# 获取图片src = li.xpath('.//img/@data-original').extract_first()# 第一张图片和其他图片的标签的属性不一样# 第一张图片的src是可以使用的,其他图片的地址在data-original里if src:src = srcelse:src = li.xpath('.//img/@src').extract_first()# 获取名字name = li.xpath('.//img/@alt').extract_first()# 获取价格price = li.xpath('.//p[@class="price"]/span[1]/text()').extract_first()book = ScrapyDangdang39Item(src=src, name=name, price=price)# 获取一个book就将book传递给pipelinesyield book# 每一页的爬取逻辑都是一样的,所以只需要执行每一页的请求再次调用parse方法就可以了if self.page < 100:self.page += 1url = self.base_url + str(self.page) + '-cp01.01.07.00.00.00.html'# 调用parse方法# scrapy.Request就是scrapy的get请求# url就是请求地址 callback就是要执行的那个函数  注意不要加()yield scrapy.Request(url=url, callback=self.parse)
http://www.lryc.cn/news/133654.html

相关文章:

  • JDK JRE JVM 三者之间的详解
  • excel常见的数学函数篇2
  • Certify The Web (IIS)
  • 【c语言】五子棋(EasyX图形库+背景音乐)
  • 【OpenCV 】对极几何标定质量验证
  • Netty:ByteBuf的清空操作
  • SpringCloud最新最全面试题
  • leetcode359周赛
  • nginx代理webSocket链接响应403
  • websocker无法注入依赖
  • 如何进行无线网络渗透测试?
  • 【Python机器学习】实验15 将Lenet5应用于Cifar10数据集(PyTorch实现)
  • Jeep车型数据源:提供Jeep品牌车系、车型、价格、配置等信息
  • clickhouse-备份恢复
  • (2018,ProGAN)渐进式发展 GAN 以提高质量、稳定性和变化
  • 负载均衡下的 WebShell 连接
  • Postman的高级用法—Runner的使用​
  • spring如何进行依赖注入,通过set方法把Dao注入到serves
  • Python使用图像处理库PIL(Python Imaging Library)和NumPy库来比较两副图像的相似度
  • clickhouse扩缩容
  • 动漫3D虚拟人物制作为企业数字化转型提供强大动力
  • 数据同步工具比较:选择适合您业务需求的解决方案
  • Python中数据结构列表详解
  • 引领行业高质量发展|云畅科技参编《低代码开发平台创新发展路线图(2023)》
  • Ubuntu22.04编译Nginx源码
  • 视频上传,限制时长,获取视频时长
  • Open3D 进阶(5)变分贝叶斯高斯混合点云聚类
  • 5、css学习5(链接、列表)
  • Synchronized与Java线程的关系
  • 使用本地电脑搭建可以远程访问的SFTP服务器