美文网首页
python-scrapy(2)

python-scrapy(2)

作者: 查无此人asdasd | 来源:发表于2017-09-24 00:47 被阅读0次

项目名称为ITcast

   当执行爬虫的yield item时 就会调用图二中的管道文件(不过需要在setting.py中配置,ITEM_PIPELINES这一行中配置,在这个字典中所包含的管道才可以被调用,同理可以在里面加上自定义管道,比如数据库管道什么的,并且后面的数字是优先级,0-1000之间,值越小优先级越高)每个item都会执行这些管道

图二中:

第一个函数:初始化

第二个函数:因为返回的内容存在中文,所以将item返回的数据进行转换,然后写入文件,再返回item告诉引擎已经处理完毕

第三个函数:在关闭的时候关闭文件

一般在新建目录里去执行

这是爬虫主要内容,解释都已经已备注形式写上去了,还有一点是下面输出的name[0]是因为xpath对象是一个列表,用[0]才可以,还有就是xpath("./h3/test()")之前的那个点是指从当前节点,不加的话会变成根节点

但这是并没有用到item字段,那么怎么去交互呢

item部分

定义item部分是定义item字典的键,有了键才会有下图加入的值

然后可以scrapy crawl itcast -o itcast.json 输出成为json文件,不过都是unicode字符串,到时候扔到网站解码即可

当然不仅仅是.json格式,还可以输出.csv  .jsonl   .xml等四种文件格式

这里的item因为是列表,但返回给引擎时引擎无法识别,所以只能用-o来处理

有时输出文件并不是我们所需要的,如果我们想存入数据库应该怎么办,那么就需要管道了

在start_urls里面可以加更多的网址,这些网址用多线程执行,

爬虫启动的时候,找到start_urls里面的内容,提取url,封装成请求,交给引擎,引擎交给调度器入队列,去重处理之后再交给下载器下载,下载器返回的响应文件交给parse方法处理,在parse方法里根据xpath返回的节点,迭代每个节点,我们将每个xpath对象extract后,放到我们定义好的item字段里,再把item字段放到列表里

相关文章

  • python-scrapy(2)

    项目名称为ITcast 当执行爬虫的yield item时 就会调用图二中的管道文件(不过需要在setting....

  • 爬虫-python-scrapy框架基本命令

    爬虫-python-scrapy框架基本命令 创建一个项目 抓取页面 网页抓取shell XPath(选择器节点)...

  • Python-Scrapy抓取中国空气质量全站数据-ChinaA

    本节知识点主要是Scrapy对接selenium 目标抓取每个城市空气质量指数日历史数据 分析网页数据结构1.1....

  • DAY 2(2/2)

    五彩滩声名在外,但是我们去的时候在休整,我们十分不甘心,根据各种攻略告诉我们在景区出口有村民守着问你要不要去五彩滩...

  • 2-2-2

    自由写作群 转化与蜕变 继续刚才的梦的后记 我想梦是用最形象的比喻告诉我内在正在经历着发生着什么,这是潜意识里已经...

  • 2 (2)

    突然想到Jenny ,那个有些神经质的女孩儿。 对我来说,Jenny 给我最深的印象是作家。作为一个作家,她的灵感...

  • 2-2-2 RelativeLayout

    标注:本文为个人整理,仅做自己学习参考使用,请勿转载和转发2018-06-03: 初稿,参考博主coder-pig...

  • 2️⃣0️⃣2️⃣0️⃣🔚🔜2️⃣0️⃣2️⃣1️⃣

    今天风小了,夕阳很平静,但2020年终究是不平静的一年。 不平静的2020年,第一次有了一张小区出入证。不能飞去热...

  • 2-2

    ❤️起步,️️(若起步的右车道前方无车,可以不用转到左车道; 转发了右车道一定要变更车道) 一段车程 ❤️右转,右...

  • < маленький принц > 2-2

    Итак, в первый вечер я уснул на песке в пустыне, где на...

网友评论

      本文标题:python-scrapy(2)

      本文链接:https://www.haomeiwen.com/subject/pkhcextx.html