手上白癜风能治疗吗 https://m-mip.39.net/nk/mipso_4357526.html之前,我们写爬虫,用的最多的框架莫过于scrapy啦,今天我们用最近新出的爬虫框架feapder来开发爬虫,看下是怎样的体验。
目标网站:aHR0cHM6Ly93d3cubGFnb3UuY29tLw==需求:采集职位列表与职位详情,详情需每7天更新一次为了演示,以下只搜索与爬虫相关的职位
1.调研1.1列表页面
首先我们需要看下页面是否为动态渲染的,接口是否有反爬。
看是否为动态渲染的可以右键,显示网页源代码,然后搜索网页上的内容源码里是否存在,比如搜索列表的第一条知衣科技,匹配了0条,则初步判断是动态渲染的
或者可以用feapder命令,下载网页源码,查看。
打开后的页面为加载中
调用response.open()命令会在工作目录下生产一个temp.html文件,内容为当前请求返回的源码,我们点击查看,是一段js,有安全验证。因此可以推断出该网站有反爬,难度升级预警
feapder还支持使用curl命令请求,方式如下:
按F12,或者右键检查,打开调试窗口,刷新页面,点击当前页的请求,复制为curl,返回命令行窗口,输入feapdershell--然后粘贴刚刚复制的内容发现携带header,cookie也不行,可能是某些参数只能用一次吧。
调研结论:列表页有反爬,页面动态渲染
ps:正常大神还会继续调研,列表接口是什么,如何破解反爬,但因为我是小白,就先不纠结了
1.2详情页面
与列表页调研类似,结论是有反爬,但页面不是动态渲染的
2.创建项目
打开命令行工具,输入:
feapdercreate-plagou-spiderlagou-spider项目生成成功
生成项目如下:
我用的pycharm,先右键,将这个项目加入到工作区间。(右键项目名,MarkDirectoryas-SourcesRoot)
3.写列表页爬虫3.1创建爬虫
cdlagou-spider/spidersfeapdercreate-slist_spiderListSpider生成成功
生成代码如下:
importfeapderclassListSpider(feapder.AirSpider)
efstart_requests(self):yieldfeapder.Request("