Python Scrapy多页数据爬取实现过程解析


Posted in Python onJune 12, 2020

1.先指定通用模板

url = 'https://www.qiushibaike.com/text/page/%d/'#通用的url模板
pageNum = 1

2.对parse方法递归处理

parse第一次调用表示的是用来解析第一页对应页面中的数据

对后面的页码的数据要进行手动发送

if self.pageNum <= 5:
  self.pageNum += 1
  new_url = format(self.url%self.pageNum)
  #手动请求(get)的发送
  yield scrapy.Request(new_url,callback=self.parse)

完整示例

class QiubaiSpider(scrapy.Spider):
  name = 'qiubai'
  # allowed_domains = ['www.xxx.com']
  start_urls = ['https://www.qiushibaike.com/text/']
  
  url = 'https://www.qiushibaike.com/text/page/%d/'#通用的url模板
  pageNum = 1
  #parse第一次调用表示的是用来解析第一页对应页面中的段子内容和作者
  def parse(self, response):
    div_list = response.xpath('//*[@id="content-left"]/div')
    all_data = []
    for div in div_list:
      author = div.xpath('./div[1]/a[2]/h2/text()').extract_first()
      
      content = div.xpath('./a[1]/div/span//text()').extract()
      content = ''.join(content)

      # 将解析的数据存储到item对象
      item = QiubaiproItem()
      item['author'] = author
      item['content'] = content

      # 将item提交给管道
      yield item # item一定是提交给了优先级最高的管道类

    if self.pageNum <= 5:
      self.pageNum += 1
      new_url = format(self.url%self.pageNum)
      #手动请求(get)的发送
      yield scrapy.Request(new_url,callback=self.parse)

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Python 相关文章推荐
python处理图片之PIL模块简单使用方法
May 11 Python
Tensorflow的可视化工具Tensorboard的初步使用详解
Feb 11 Python
Python3正则匹配re.split,re.finditer及re.findall函数用法详解
Jun 11 Python
TensorFlow 模型载入方法汇总(小结)
Jun 19 Python
python批量赋值操作实例
Oct 22 Python
Python拼接字符串的7种方法总结
Nov 01 Python
Python Pickle 实现在同一个文件中序列化多个对象
Dec 30 Python
Python3.7下安装pyqt5的方法步骤(图文)
May 12 Python
python中如何打包用户自定义模块
Sep 23 Python
Python tempfile模块生成临时文件和临时目录
Sep 30 Python
python中_del_还原数据的方法
Dec 09 Python
python爬虫scrapy框架的梨视频案例解析
Feb 20 Python
Selenium自动化测试工具使用方法汇总
Jun 12 #Python
Python使用socketServer包搭建简易服务器过程详解
Jun 12 #Python
Django之腾讯云短信的实现
Jun 12 #Python
python相对企业语言优势在哪
Jun 12 #Python
keras实现基于孪生网络的图片相似度计算方式
Jun 11 #Python
为什么说python适合写爬虫
Jun 11 #Python
python新手学习使用库
Jun 11 #Python
You might like
PHP查询网站的PR值
2013/10/30 PHP
php使用正则表达式提取字符串中尖括号、小括号、中括号、大括号中的字符串
2020/04/05 PHP
PHP生成自适应大小的缩略图类及使用方法分享
2014/05/06 PHP
thinkPHP批量删除的实现方法分析
2016/11/09 PHP
PHP对象、模式与实践之高级特性分析
2016/12/08 PHP
建议大家看下JavaScript重要知识更新
2007/07/08 Javascript
用JavaScript隐藏控件的方法
2009/09/21 Javascript
jQuery 关于伪类选择符的使用说明
2013/04/24 Javascript
利用jquery动画特效和css打造的侧边弹出垂直导航
2014/04/04 Javascript
JQuery插件iScroll实现下拉刷新,滚动翻页特效
2014/06/22 Javascript
jquery操作checkbox火狐下第二次无法勾选的解决方法
2016/10/10 Javascript
利用Chrome DevTools直接调试Node.js和JavaScript的方法详解(并行)
2017/02/16 Javascript
基于vue.js 2.x的虚拟滚动条的示例代码
2018/01/23 Javascript
vue 使用eventBus实现同级组件的通讯
2018/03/02 Javascript
关于layui 下拉列表的change事件详解
2019/09/20 Javascript
JS实现关闭小广告特效
2021/01/29 Javascript
JS实现网页烟花动画效果
2020/03/10 Javascript
nuxt引入组件和公共样式的操作
2020/11/05 Javascript
Vue项目如何引入bootstrap、elementUI、echarts
2020/11/26 Vue.js
Python实现对字符串的加密解密方法示例
2017/04/29 Python
浅谈pyhton学习中出现的各种问题(新手必看)
2017/05/17 Python
Python实现图片转字符画的示例
2017/08/22 Python
Python3.6实现连接mysql或mariadb的方法分析
2018/05/18 Python
Python环境Pillow( PIL )图像处理工具使用解析
2019/09/12 Python
Wojas罗马尼亚网站:波兰皮鞋品牌
2018/11/01 全球购物
什么是Smarty变量操作符?如何使用Smarty变量操作符
2014/07/18 面试题
教师评优事迹材料
2014/01/10 职场文书
小学红领巾中秋节广播稿
2014/01/13 职场文书
文员的职业生涯规划发展方向
2014/02/08 职场文书
学生周末长期请假条
2014/02/15 职场文书
公务员群众路线专题民主生活会发言材料
2014/09/17 职场文书
个人公司授权委托书范本
2014/10/12 职场文书
教师党员学习群众路线心得体会
2014/11/04 职场文书
商务司机岗位职责
2015/04/10 职场文书
红色影片观后感
2015/06/18 职场文书
100句拼搏进取的名言警句,值得一读!
2019/10/07 职场文书