爬虫 9 :scrapy项目流程 - 安居客

1、文件位置打开cmd创建scrapy项目 scrapy startproject anjuk
在这里插入图片描述
2、在项目下的spideres目录下创建项目的spider,可以直接常见.py文件
在这里插入图片描述
还可以命令行创建,会生成文件和类:文件名为actorspider ,allowed_domains= [‘www’]
在这里插入图片描述
作为启动项目的main
在这里插入图片描述
3、把setting中的ROBOTSTXT_OBEY = True 改为False
在这里插入图片描述
4、打开注释的请求头
在这里插入图片描述
5、测试看看能不能获取到页面 : 先设置打印,然后运行main.py文件
在这里插入图片描述
如果没有结果试试设置cookie
在这里插入图片描述
如果需要添加cookie要把COOKIES_ENABLED = False 注释打开
在这里插入图片描述
注意下面会分为两种情况:
第一种情况、html源码中都是script 无法获取到标签和数据,通过使用中间件,中间件在dowload之前调用,了解中间件:

###setting打开注释的配置:
DOWNLOADER_MIDDLEWARES = {
‘bosszp.MyMiddleWares.MiddleWares_Tencent’: 543,
}
只有配置之后才会走Download Middlewares,不然会直接走download
不用对中间件进行调用,只要配置,scrapy自动会走
在这里插入图片描述
在middleware中使用selenium获取HTML,返回给downloader.
如腾讯项目的例子:https://careers.tencent.com/search.html?index=
配置:
在这里插入图片描述
函数路径快捷获取:双击函数名-右键
在这里插入图片描述
在这里插入图片描述
把HTML返回给download中的response了,内部会实现把response转为selector对象,可以使用xpath,像第二种情况往下走
在这里插入图片描述
但是一旦使用了中间件middleware中使用selenium会降低scrapy的速度。

第二种情况:页面中有标签和数据
直接在spiders中往下写就ok,例子安居客:https://guangzhou.anjuke.com/sale/tianhe/?pi=baidu-cpc-gz-tyong1&kwid=1956762976
在这里插入图片描述
item = item.py的类名,如果没有实例化对象,直接yied是字典就不用管item.py文件字段
在这里插入图片描述
在这里插入图片描述
记得在piplines把item以字典的数据存入mongodb数据库,有需要存储的内容item.py的类的函数中要设置相关字段,不然会为空
在这里插入图片描述
在这里插入图片描述
接着获取详情页的信息:之后,yield item,开始编写pipeline的内容
在这里插入图片描述
最后在piplines.py中把数据写入数据库:写好pipeline之后,需要配置才能生效。配置setting在这里插入图片描述
在这里插入图片描述

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值