元素解析

Day86 页面元素解析免费看

解析字段信息、构建数据模型

10-04侠课岛    基础入门       

后端/后端/Python 由浅入深入门 9     0     311

总结

1.解析字段信息

  • 假设我们要获取图片的信息, 首先会下载start_urls,交给parse方法处理,在该方法中进行信息的获取,可以使用response对象的css选择器拿到a标签的selector,然后遍历这个selector,通过遍历得到的selector再次进行元素定 位,并获取img图片的src属性值,如:a_selector.css('img::attr(src)').extract()[0],这样就成功拿到图片地址了;

  • 解析完图片地址之后还需要获取页面的url,如:a_selector.css('::attr(href)').extract()[0],获取到url之后要在Request请求中使用parse函数的urljoin()方法对获取到的页面的url进行封装得到图片的绝对路径,使用参数callback指定回调函数,然后还可以使用Reques对象中的参数meta将通过parse解析到的信息全部传递到回调函数中进行封装解析,如:meta={'a_image_url': image_url}

  • 通过这种方式我们就可以获取页面中我们想要的字段信息了,如标题、时间等;

2.构建数据模型

  • 我们在创建模板时会自动生成一些文件,items.py文件就是其中一个,我们构建数据模型就需要用到这个文件,这个文件会自动生成一个modle,这个modle会继承scrapy.Item,然后我们可以根据我们的需求在自动生成的这个modle中随意创建字段;

  • 创建好字段之后,需要在spider中添加构建模型,最后让构建模型中的字段和之前modle中的字段名一致,防止赋值出错;

  • 在spider中添加构建模型首先需要实例化items.py文件中的modle,然后通过实例化对象添加字段到modle中,最后将数据模型进行落地,让数据持久化。把实例化对象返回到pipelines.py中;

本教程图文或视频等内容版权归侠课岛所有,任何机构、媒体、网站或个人未经本网协议授权不得转载、转贴或以其他方式复制发布或发表。

评价

9

本课评分:
  •     非常好
难易程度:
  •     适中的

内容目录



|
教程
粉丝
主页

签到有礼

已签到2天,连续签到7天即可领取7天全站VIP

  • 1
    +2 金币
  • 2
    +3 金币
  • 3
    +5 金币
  • 6
    +7 金币
  • 5
    +6 金币
  • 4
    暖心福利
    自选分类VIP ×1天
  • 7
    惊喜大礼

    自选分类VIP ×3天 +20金币
  • 持续签到 +8 金币

金币可以用来做什么?