python学习使用feapder框架,编写爬虫,爬取中国工程院院士信息(代码片段)

Mitch311 Mitch311     2023-02-24     811

关键词:

题目👇

学习使用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&#x 查看详情

如何学习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后端,或者爬虫欢迎一起交流学习 查看详情