作家
登录

基于Python的Scrapy爬虫入门:代码详解

作者: 来源: 2017-11-30 09:07:01 阅读 我要评论

CTO练习营 | 12月3-5日,深圳,是时刻成为优良的技巧治理者了


根据属性名称很轻易知道对应的内容含义,这里我们只需关怀 postlist 这个属性,它对应的一个数组元素就是一个图集,图集元素中有几项属性我们须要用到:

  • url:单个图集浏览的页面地址
  • post_id:图集编号,在网站中应当是独一的,可以用来断定是否已经抓取过该内容
  • site_id:作者站点编号 ,构建图片来源链接要用到
  • title:标题
  • excerpt:摘要文字
  • type:图集类型,今朝发明两种,一种multi-photo是纯照片,一种text是文字与图片混淆的文┞仿式页面,两种内容构造不合,须要不合的抓取方法,本例中只抓取纯照片类型,text类型直接丢弃
  • tags:图集标签,有多个
  • image_count:图片数量
  • images:图片列表,它是一个对象数组,每个对象中包含一个img_id属性须要用到

基于Python的Scrapy爬虫入门:代码详解

一、内容分析

接下来创建一个爬虫项目,以 图虫网 为例抓取琅绫擎的图片。在顶部菜单“发明” “标签”琅绫擎是对各类图片的分类,点击一个标签,比如“美男”,网页的链接为:https://tuchong.com/tags/美男/,我们以此作为爬虫人口,分析一下该页面:

打开页面后出现一个个的图集,点击图集可全屏浏览图片,向下滚动页面会出现更多的图集,没有页码翻页的设置。Chrome右键“检查元素”打开开辟者对象,检查页面源码,内容部分如下:

  1. <div class="content"
  2.  
  3.     <div class="widget-gallery"
  4.  
  5.         <ul class="pagelist-wrapper"
  6.  
  7.             <li class="gallery-item... 

可以断定每一个li.gallery-item是一个图集的人口,存放在ul.pagelist-wrapper下,div.widget-gallery是一个容器,如不雅应用 xpath 拔取应当是://div[@class=”widget-gallery”]/ul/li,按照一般页面的逻辑,在li.gallery-item下面找到对应的链接地址,再往下深刻一层页面抓取图片。

然则如不雅用类似 Postman 的HTTP调试对象请求该页面,获得的内容是:

  1. <div class="content"
  2.  
  3.     <div class="widget-gallery"></div> 
  4.  
  5. </div> 
  1. https://tuchong.com/rest/tags/美男/posts?page=1&count=20&order=weekly&before_timestamp= 

参数很简单,page是页码,count是每页图集数量,order是排序,before_timestamp为空,图虫因为是推送内容式的网站,是以before_timestamp应当是一个时光值,不合的时光会显示不合的内容,这里我们把它丢弃,不推敲时光直接大年夜最新的页面向前抓取。

三、重要代码

请求结不雅为JSON格局内容,降低了抓取难度,结不雅如下:

  1.  
  2.   "postList": [ 
  3.  
  4.     { 
  5.  
  6.       "post_id""15624611"
  7.  
  8.       "type""multi-photo"
  9.  
  10.       "url""https://weishexi.tuchong.com/15624611/"
  11.  
  12.       "site_id""443122"
     1/10    1 2 3 4 5 6 下一页 尾页

      推荐阅读

      摆脱尴尬,我国IPv6加速跑需要“魔鬼步伐”

    CTO练习营 | 12月3-5日,深圳,是时刻成为优良的技巧治理者了 人工智能、大年夜数据、云计算、物联网,其实都是>>>详细阅读


    本文标题:基于Python的Scrapy爬虫入门:代码详解

    地址:http://www.17bianji.com/lsqh/39298.html

关键词: 探索发现

乐购科技部分新闻及文章转载自互联网,供读者交流和学习,若有涉及作者版权等问题请及时与我们联系,以便更正、删除或按规定办理。感谢所有提供资讯的网站,欢迎各类媒体与乐购科技进行文章共享合作。

网友点评
自媒体专栏

评论

热度

精彩导读
栏目ID=71的表不存在(操作类型=0)