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

网站建设协议书 印花税商丘市网站建设推广

网站建设协议书 印花税,商丘市网站建设推广,行业网站系统,网站开发公司 网站空间接上篇《49、当当网Scrapy项目实战#xff08;二#xff09;》 上一篇我们讲解了的Spider与item之间的关系#xff0c;以及如何使用item#xff0c;以及使用pipelines管道进行数据下载的操作#xff0c;本篇我们来讲解Scrapy的多页面下载如何实现。 一、多页面下载原理分…接上篇《49、当当网Scrapy项目实战二》 上一篇我们讲解了的Spider与item之间的关系以及如何使用item以及使用pipelines管道进行数据下载的操作本篇我们来讲解Scrapy的多页面下载如何实现。 一、多页面下载原理分析 1、多页面数据下载主要思路 我们之前编写的爬虫主要是针对当当网书籍详情首页的列表数据进行下载也只能下载第一页已经加载好的列表数据 如果我们想要下载该种书籍的多页数据例如1到100页的数据这就涉及到爬虫的多页面下载逻辑了。 我们现在可以思考一下我们下载从第1页到第100页的书籍详情列表数据数据结构和取数逻辑是否是一样的答案是一样的。 所以我们在爬虫文件中编写的数据列表数据获取逻辑是核心程序是不需要修改的我们只需要把每一页的新内容传输给它它进行数据转换清洗变成数据结构对象最后存储到文件中去即可。如同下图 我们要做的事情就是在爬虫中parse函数执行第1页请求完毕后再使用parse函数执行第2页、第3页等等的请求即可。 2、如何获取多个页面的数据 我们如何来获取第2页及之后的数据呢首先我们进入图书列表页分别点击后面的第2页、第3页并记录一下浏览器上面的地址 我们分别看一下第1页、第2页、第3页的网址 聪明的童鞋应该可以看出区别了吧没错从第1页之后每页页面在“cp01”前会有一个“pgx-”而其中的“x”就是当前的页码数。所以我们要获取某一页的数据就只需要修改“pg”后面的数字为几即可拿到相关页面的数据了。 二、多页面下载程序编写 1、指定相关路径 此时我们在爬虫文件中就需要指定起始页面是什么然后后续的迭代页面是什么代码如下 class DangSpider(scrapy.Spider):name dang# 如果为多页下载必须将allowed_domains的范围调整为主域名allowed_domains [category.dangdang.com]start_urls [http://category.dangdang.com/cp01.22.01.00.00.00.html]base_url http://category.dangdang.com/pgend_url -cp01.22.01.00.00.00.htmlpage 1#......下面代码省略...... 其中的base_url是迭代页面的主地址信息end_url是页码获取后拼接的静态页面固定地址page是下一次要抓取的页面的页码数。 2、编写多页面下载判定与执行逻辑 然后我们在之前parse函数结束中的for循环结束后编写一个页面判断的逻辑注意是在for循环的外面parse函数的里面 if self.page 100:  # 判断当前页面是否在100页以内self.page self.page 1  # 获取下一个页码# 根据获取的页码拼接下一个需要爬取的页面url地址url self.base_url str(self.page) self.end_url# 回调爬虫的parse函数用新的url继续进行数据爬取# scrapy.Request就是scrapy的get请求# 其中的url是请求地址callback是需要执行的爬虫的函数注意不需要加圆括号yield scrapy.Request(urlurl,callbackself.parse) 3、测试效果 这是我们删除原来抓取的book.json中的所有数据清理下载的书籍图片然后通过“scrapy crawl dang”命令执行我们的dang.py爬虫 程序执行后可以看到爬虫在逐页爬取相关数据 等待爬虫执行完毕这里我爬了101页是因为上面小于100写成小于等于了 我们可以看到json文件又被写满了 其中最后一个数据和当前网站的第100页的数据基本吻合 查看一下图片发现也是全部下载下来了1页60条数据100页共6000张封面我们下载了5700多张说明1到100页的数据已经基本全部抓取过来了 4、完整代码 下面是刚刚上面优化完毕后的Scrapy爬虫逻辑的完整代码 import scrapyfrom scrapy_dangdang_01.items import ScrapyDangdang01Itemclass DangSpider(scrapy.Spider):name dang# 如果为多页下载必须将allowed_domains的范围调整为主域名allowed_domains [category.dangdang.com]start_urls [http://category.dangdang.com/cp01.22.01.00.00.00.html]base_url http://category.dangdang.com/pgend_url -cp01.22.01.00.00.00.htmlpage 1def parse(self, response):# 获取所有的图书列表对象li_list response.xpath(//ul[idcomponent_59]/li)# 遍历li列表获取每一个li元素的几个值for li in li_list:# 书籍图片src li.xpath(.//img/data-original).extract_first()# 第一张图片没有data-original属性所以会获取到控制此时需要获取src属性值if src:src srcelse:src li.xpath(.//img/src).extract_first()# 书籍名称title li.xpath(.//img/alt).extract_first()# 书籍作者search_book_author li.xpath(./p[classsearch_book_author]//span[1]//a[1]/title).extract_first()# 书籍价格price li.xpath(./p[classprice]//span[classsearch_now_price]/text()).extract_first()# 书籍简介detail li.xpath(./p[classdetail]/text()).extract_first()# print()# print(【图片地址】, src)# print(【书籍标题】, title)# print(【书籍作者】, search_book_author)# print(【书籍价格】, price)# print(【书籍简介】, detail)# 将数据封装到item对象中book ScrapyDangdang01Item(srcsrc, titletitle, search_book_authorsearch_book_author, priceprice, detaildetail)# 获取一个book对象就将该对象交给pipelinesyield bookif self.page 100:  # 判断当前页面是否在100页以内self.page self.page 1  # 获取下一个页码# 根据获取的页码拼接下一个需要爬取的页面url地址url self.base_url str(self.page) self.end_url# 回调爬虫的parse函数用新的url继续进行数据爬取# scrapy.Request就是scrapy的get请求# 其中的url是请求地址callback是需要执行的爬虫的函数注意不需要加圆括号yield scrapy.Request(urlurl,callbackself.parse) 至此关于Scrapy实战项目的多页数据下载的内容就全部介绍完毕。下一篇我们来讲解电影天堂网站的多页面下载继续巩固一下多页面下载技术。 参考尚硅谷Python爬虫教程小白零基础速通转载请注明出处https://guangzai.blog.csdn.net/article/details/136605061
http://www.hkea.cn/news/14455889/

相关文章:

  • 揭阳住房和城乡建设厅网站做网站诱导充值犯法吗
  • 教师网站建设企业实践总结南宁网络技术
  • 网站建设网站软件有哪些方面商务网站的类型一共有几大类
  • 小皮phpstudy快速搭建网站seo创业
  • 河东建设局网站静态网站开发软件
  • 建设银行行号网站查询是什么搭建网站手机软件
  • 地方门户网站的特点网站模板 酒类
  • 软装设计师常用网站苏州建网站皆去苏州聚尚网络
  • dedecms本地打开网站互联网公司 哪个部门负责网站建设
  • 本溪食品 中企动力提供网站建设吉林省最新消息今天新增
  • 做电影资讯网站算侵权吗能看wordpress
  • 换友情链接的网站深圳企业网页设计公司
  • 网站建设图片拍摄价格织梦cms是免费的吗
  • 太阳镜商城网站建设398做网站彩铃
  • 网站规划与建设步骤网站营销计划书
  • 微信上打开连接的网站怎么做的网上购物网站建设
  • 自己免费建设网站微信多开软件代理平台
  • 中国响应式网站案例wordpress会员vip
  • 有哪些免费网站可以发布广告网站用的字体
  • 网页设计代码文字浮动企业网站优化案例
  • 专门设计的网站h5商城网站怎么做
  • 万润 企业网站建设厦门电子商务网站建
  • 江门市智企互联网站建设wordpress文件wordpress
  • 卖渔具的亲戚做网站网页制作模板兼职
  • 财务网站建设百度云服务器安装wordpress
  • 武进网站制作公司关键词排名点击软件工具
  • 绍兴本地网站建设织梦技校招生网网站模板整站源码
  • 网站会员和discuz会员同步做网站鼎盛
  • 昆山公司网站建设电话商城网站建设技术论坛
  • 网站响应时间多久手机浏览器下载大全免费下载