Scrapy框架的爬虫代码(封装,存储)和运作爬虫的逻辑分析和注意事项

Scrapy框架

一.解析数据

1)先大致规划一下需要几个函数,可以用pass来先保存语法的完整性

2)函数1跳转函数2使用yield

这里的yield与return相似,可以返回一个值,但是不会结束以后的代码,所以在scrapy框架中几乎使用yield

1.先在 def parse(self, response)中写入(这个函数是框架自带的,这里的response没有content属性)

yield scrapy.Requesrt(


# url: 爬取的网址

   url = response.url,


# callback回调,当网页下载好以后传给谁去解析

    callback =


# 爬取过的也会再次爬取,如果不设置这个参数,scrapy框架会默认的认为以前爬过的数据就不会再次爬取,它这是为了防止数据重复性.

    dont_filter = True

)

2. scrapy框架自带一种解析方式基于lxml

建议使用xpath来解析网页获取数据

接着在你自定义的相关函数中使用xpath解析网页

在接着写

yield scrapy.Request(

    url = 这里的地址就写你需要用地址

    callback =

   

# meta 负责传输数据,类型是字典

    meta = {}

    dont_filter = True

)

二.存储数据

点开items.py文件

可以新建一个class类,()里写scrapy.Item

item用于组装爬虫数据

里面的字段根据实际情况定义即可,一般来说字段名和变量名保持一致

数据 = scrapy.Fileld()

要保存多少数据就写多个,如果有文件路径也写个

注意: 需要再爬虫代码文件中引用该函数

from ..items import ImgInfoItem

三.运行爬虫name为51job的爬虫文件(有两种)

1)在pycharm自带的命令窗口输入:scrapy crawl 51job

注释: 运行爬虫name为51job的爬虫文件

2)在爬虫的主文件内新建一个.py文件命名为run(在setting.py的上一级目录中)

写入以下代码:

from scrapy import cmdline

cmdline.execute(['scrapy', 'crawl', '51job, '-o', 'img.csv', '-s', 'FEED_EXPORT_ENCODING=gb18030'])(写前三个就可以运行爬虫了,后面几个是这是写入表格文件的参数)

补充:



然后运行爬虫,这样就写入表格当中了.






  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

她最爱橘了

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值