关键词:
题目👇
学习使用Feapder框架,编写爬虫,爬取中国工程院院士信息。
(从http://www.cae.cn/cae/html/main/col48/column_48_1.html爬取中国工程院院士信息)
知识补充👇
①Feapder框架简介
和 Scrapy 类似,feapder 支持轻量级爬虫、分布式爬虫、批次爬虫、爬虫报警机制等功能
内置的 3 种爬虫如下:
AirSpider——轻量级爬虫,适合简单场景、数据量少的爬虫
Spider——分布式爬虫,基于 Redis,适用于海量数据,并且支持断点续爬、自动数据入库等功能
BatchSpider——分布式批次爬虫,主要用于需要周期性采集的爬虫
②Feapder框架的安装
首先我们需要安装一个Feapder库。python3版本可以直接在cmd下用pip3命令进行安装。
命令行输入:
pip3 install feapder
效果如图:
代码示例👇
首先在cmd命令行里创建爬虫项目
feapder create -p
命令行进入到 spiders 文件夹目录下,创建一个爬虫
cd spiders
# 创建一个轻量级爬虫
feapder create -s tophub_spider 1
#1 为默认,表示创建一个轻量级爬虫 AirSpider
#2 代表创建一个分布式爬虫 Spider
#3 代表创建一个分布式批次爬虫 BatchSpider
在spider.py中进行编程运行
#coding:utf-8
#author:Mitchell
#date:12.10
#part2:学习使用Feapder框架,编写爬虫,爬取中国工程院院士信息
import feapder
import re
#写入文件函数,规定写入的格式
def writer(filename, text):
with open(filename, 'a', encoding='utf-8') as f:
f.writelines(text)
f.write('\\n\\n')
#轻量级爬虫 AirSpider
class Mitchell(feapder.AirSpider):
def start_requests(self):
url='https://www.cae.cn/cae/html/main/col48/column_48_1.html'
yield feapder.Request(url)
#爬取院士名单和对应的链接地址
def parse_name(self, response):
#利用xpath过滤得到目标标签
name_list=response.xpath("//*[@class='name_list']")
for name in name_list:
#extract_first():这个方法返回的是一个string字符串,是list数组里面的第一个字符串
#得到对应院士的链接
href=name.xpath('.//@href').extract_first()
yield feapder.Request(href,callback=self.parse_next)
#爬取院士信息
def parse_content(self,request,response):
#利用xpath过滤得到目标标签
intro=response.xpath("//*[@class='intro']")
#extract():这个方法返回的是一个数组list
#注意这里的解析是Unicode编码
t=intro.xpath(".//p[contains(text(),'\\u2002')]").extract()
#转成字符串进行后续处理
tt=''.join(t)
regp = r'<p>([\\s\\S]+?)</p>'
intropre = re.compile(regp)
introlist=re.findall(intropre,tt)
ttt=''
for cont in introlist:
ttt+=str(cont)
#写入
writer('工程院士信息.txt', ttt)
if __name__ == "__main__":
Mitchell.start()
python爬虫用啥框架
python爬虫框架概述爬虫框架中比较好用的是Scrapy和PySpider。pyspider上手更简单,操作更加简便,因为它增加了WEB界面,写爬虫迅速,集成了phantomjs,可以用来抓取js渲染的页面。Scrapy自定义程度高,比PySpider更底层一些,适合学习... 查看详情
python爬虫--scrapy框架的学习和使用⭐---第二部分(代码片段)
文章目录九、CrawlSpider⭐⭐⭐实战项目问题总结十、分布式爬虫十一、增量式爬虫总结九、CrawlSpider⭐⭐⭐是一个类,基于Spider的子类。子类继承父类所有的功能,并能派生出自己的功能!用于全栈数据的爬取基于Spide... 查看详情
python爬虫--scrapy框架的学习和使用⭐⭐⭐---第一部分(代码片段)
文章目录前言一、scrapy框架的基本使用1.1windows下安装scrapy1.2scrapy的基本使用二、scrapy数据解析三、scrapy持久化存储3.1基于终端指令3.2基于管道⭐⭐3.3面试题⭐⭐四、scrapy爬取全栈数据⭐⭐五、scrapy五大核心组件六、请求传参⭐... 查看详情
python学习的框架是哪些?
从GitHub中整理出的15个最受欢迎的Python开源框架。这些框架包括事件I/O,OLAP,Web开发,高性能网络通信,测试,爬虫等。Django:PythonWeb应用开发框架Django应该是最出名的Python框架,GAE甚至Erlang都有框架受它影响。Django是走大而全... 查看详情
scrapy框架爬取糗事百科
...案例之前首先理解几个问题,1:什么是爬虫2:为什么说python是门友好的爬虫语言?3:选用哪种框架编写爬虫程序一:什么是爬虫? 爬虫webSpider也称之为网络蜘蛛,是使用一段编写好的代码所生成的应用程序使其游弋于互联... 查看详情
python爬虫的入门教程都有哪些值得推荐的?
Python爬虫的入门教程有很多,以下是我推荐的几本:1.《Python网络爬虫开发实战》:这本书介绍了Python爬虫的基本原理,以及如何使用Python编写爬虫程序,实现网络爬虫的功能。2.《Python爬虫技术实战》:这本书介绍了Python爬虫... 查看详情
python爬虫学习框架介绍(代码片段)
...系往往变化较小,今天我们以自学的角度来了解一下Python爬虫的知识体系吧。 一、python爬虫提取信息的基本步骤: 1,获取数据 2,解析数据 3 查看详情
如何学习python爬虫
...做很多事情,比如搜索引擎、采集数据、广告过滤等,以Python为例,Python爬虫可以用于数据分析,在数据抓取方面发挥巨大的作用。但是这并不意味着单纯掌握一门Python语言,就对爬虫技术触类旁通,要学习的知识和规范还有喜... 查看详情
转行零基础该如何学python?
对于python的入门首先会学习python基础语法,面向对象编程与程序设计模式的理解、python数据分析基础、python网络编程、python并发与高效编程等等。通过前期python学习来了解和掌握常量变量的使用,运算符的使用、流程控制的使用... 查看详情
怎么学习python,学习python需要那些学习条件?
①Python基础:Python语言基础,函数,文件操作,面向对象,异常处理,模块和包,Linux系统使用,Mysql数据库等;②全栈开发:Web编程基础,Flask框架,Django框架,Tornado框架,Elasticsearch全文搜索引擎等;③网络爬虫:数据爬取,S... 查看详情
python都需要那些技术???
现在热门的Python开发技术有MySQL、Flask框架、Django框架、Tornado框架、数据爬取、验证码破解、Fiddler工具、多线程爬虫、数据的存储、破解加密、Scrapy框架、Scrapy-Redis分布式、代理池和Cookie池、深度学习框架、数据分析、深度学习... 查看详情
学习爬虫前对网页进行认识
... 首先我们提到爬虫,我们不得不说网页,因为我们使用python编写的爬虫实际上是针对于网页进行设计的,解析网页以及抓取这些数据是爬虫需要做的事情,日常中我们看到这些网页,可以看到很多图片,很多的标题以及很多的... 查看详情
爬虫简单总结
...块名称requests:是一个常用的用于http请求的模块,它使用python语言编写,可以方便的对网页进行爬取,是学习python爬虫的较好的http请求模块。BeautifulSoup:是编写python爬虫常用库之一,主要用来解析html标签importjosn:是一种轻量级... 查看详情
python爬虫框架scrapy学习笔记
scrapy.png本文主要内容针对Scrapy有初步了解的同学。结合作者的实际项目中遇到的一些问题,汇成本文。之后会写一些具体的爬虫demo,放到https://github.com/hanguangchao/scrapy_awesome鉴于作者接触爬虫不久,水平有限,文章难... 查看详情
爬虫框架pyspider的使用
...装Phantomjs:在官网下载解压后,并将pathtomjs.exe拖进安装python路径下的Scripts下即可 查看详情
python爬虫框架scrapy问题的解决
2016-09-24:今天的弄了一天的scrapy的环境的配置的,linux很多的学过的事情都忘记啦。理论和实践的结合还是非常的重要的,不光要学会思考,更要学会总结纪录。还要多多回忆的和复习。学习了不去使用很快就会忘记的,真... 查看详情
爬虫基础
...:是一个非常不明智的选择,是一个很好装13的选择(4)Python:没有!!!代码优雅,学习成本低,具有非常多的模块。具有框架的支持。Scrapy3.分类(使用场景):(1)通用爬虫:是搜索引擎中“ 查看详情
分布式爬虫架构设计与实现
...洗,避免偶尔数据清洗错误时,又要重新爬取。求offer:python后端,或者爬虫欢迎一起交流学习 查看详情