爬虫速成(一):前言
文档配套视频
https://www.bilibili.com/video/BV1Pr4y1w7rW/
什么是爬虫
网络爬虫(又称为网页蜘蛛,网络机器人,在FOAF社区中间,更经常的称为网页追逐者),是一种按照一定的规则,自动地抓取万维网信息的程序或者脚本。另外一些不常使用的名字还有蚂蚁、自动索引、模拟程序或者蠕虫。
当然,上面的是百度百科的解释。大家肯定在学习python的时候听说过这个名词!(或者是现在才听到?)到了21世纪,经过爬虫工作人员与反爬虫工作人员的不断交火,爬虫技术已经十分成熟,python中有许许多多的库,例如:urllib、requests、webdriver,也有许多框架,例如:scrapy、pyspider(中国人写的哦!),爬虫的实际就是模拟浏览器获取网络资源 ,就看你模拟的像不像了,不像就完蛋蛋喽。
当我们需要大量获取网络资源或者是为了自己的便利来获取一些资源的时候,我们就可以使用爬虫,
比如说:下载书籍、音乐、视频、调用API、或者是根据自己的需求来设计
爬虫的分类
最常见的就是爬取网页资源,因为好访问、好解析嘛,但其实也可以爬取手机app、电脑app资源(以后会做介绍)
根据爬取资源类型分类:
- 二进制数据:视频、音频、图片等
- 文本数据
根据被爬取的设备分类:
- 网页爬虫
- 手机app爬虫
- 电脑应用爬虫
- 小程序爬虫
- …等等
根据爬虫使用分类:
- 程序爬虫:python、java、R
- 应用爬虫:集搜客、八爪鱼、火车头采集器、后羿采集器等等(阿里公司正在开发自己的爬虫应用,等以后出来了会和大家分享)
为什么学爬虫
满足自我需求
首先呢,学了爬虫我们可以很方便的满足自己的需求,也许当前不需要,但是等你需要的时候你会啊,哪有那么多需求是你学完就恰好直接能用得上的。
其实这个,需要你保持一颗好奇心
搞钱
当然是!!!有钱途 啊。
市场有需求吗?you啊!我们有技术吗?马上就快有了啊!!!有市场,有技术,那还会有什么?you钱啊,我们可以make money啦!
当我们学了最基本的爬虫,了解了爬虫的基本步骤,我们就可以去接单了啊!而且爬虫程序都是100起步的哦。
其他
撩妹??
因为牛批?
说出去帅!!!
爬虫的基本步骤
对于爬虫大概分为三步:
- 数据采集
- 数据清洗
- 数据存储
本专栏(爬虫速成)会针对这三部分介绍又好用、又简单的第三方库或实用工具,后期会在这个博客专栏添加一些拓展、进阶知识,大家有什么需要也可以和我留言,期待共同进步!
其实在我们拿到数据之后,还可以对数据可视化,但是可视化是python单独的一个领域,在此不做过多介绍,大家可以参考我的matplotlib教程(点击跳转),做一些基本的图形哦!(或者参考其他博主的也可以…)
对python要求高吗?
其实我们刚开始写的时候,都是面向过程的(没听过这个词就当没看到哈),语法很简单,等到后面进阶,我们会学习许多知识。
关于爬虫的学习,一句话,入门简单,学精很难!
对于不同阶段,在这里写一下最基本的要求。
入门阶段:
- 会使用鼠标、键盘,并且会创建python脚本文件
- 会使用python的for循环、会使用if语句、print
- 会使用浏览器,能使用百度搜索问题
初级阶段:
- 会调用函数、编写函数
- 掌握requests、xpath、webdriver、正则最基本的用法
- 可以提取json数据
- 会将数据存入到Excel表格、csv文件中
- 会使用os库创建文件夹
中级阶段:
- 了解python多线程,会写多线程爬虫
- 会使用python操作数据库,MySQL、MongoDB、SQLite最起码选一个吧?
进阶阶段:
- 了解Fiddler、Proxifier
- 可以对小程序、手机应用进行爬取
- 可以破解验证码
- 会进行js解密
- 可以判断网站加密方式并制定解决方案
- 写一个淘宝爬虫
一些爬虫小程序
官方说我违规,我就删了几个
爬取李清照诗集
#110首
import requests
import re
count=0
with open('李清照诗词集.md','w',encoding='utf-8') as fp:for i in range(1,12):print('正在爬取第%d页'%i)url='https://so.gushiwen.org/authors/authorvsw.aspx?page='+str(i)+'&id=9cb3b7c0e4a0'response=requests.get(url).text# print(response)poem_title_list=re.findall('<textarea style=" background.*id=.*">?(.*》?)https',response)[:-1]count+=len(poem_title_list)for j in poem_title_list:data=j.split('——宋代·李清照')data.insert(1,'\n')data.reverse()data.insert(0,'# ')data.append('\n\n')fp.writelines(data)
print('共%d首诗词'%count)
爬取疫情数据
import requests
import jsonurl='https://view.inews.qq.com/g2/getOnsInfo?name=disease_h5&callback=jQuery341027523371041305267_1592721097964&_=1592721097965'
response=requests.get(url).text
first_index=response.find('(')
response=response[first_index+1:-1]
data=json.loads(response)['data']
data=json.loads(data)['areaTree'][0]['children'] # 得到一个列表,里面是我们想要的信息
for i in data:name=i['name'] # 疫情地区today_add=i['today']['confirm'] # 新增nowConfirm=i['total']['nowConfirm'] # 现有confirm = i['total']['confirm'] # 累计heal = i['total']['heal'] # 治愈dead = i['total']['dead'] # 死亡print((name,today_add,nowConfirm,confirm,heal,dead))
import requests
import re # 正则表达式
import json
url='https://voice.baidu.com/act/newpneumonia/newpneumonia/?from=singlemessage'response=requests.get(url).text
data_demo=re.findall('<script(.*?)</script>',response)[6] # 提取信息
data=re.findall('({"confirmed":".*?","died":".*?","crued":".*?","relativeTime".*?),"subList"',data_demo)[:34]
data=[i+'}' for i in data]
for i in data:i=json.loads(i)name=i['area'] # 疫情地区today_add=i['confirmedRelative'] # 新增nowConfirm=i['curConfirm'] # 现有confirm = i['confirmed'] # 累计heal = i['crued'] # 治愈dead = i['died'] # 死亡print((name,today_add,nowConfirm,confirm,heal,dead))
GoGoGo
好啦,现在我们开始吧!
爬虫速成(二):数据获取
爬虫速成(三):数据提取
爬虫速成(四):数据存储
爬虫速成(一):前言相关推荐
- 爬虫速成(二):数据获取
战略地位极其重要 通常来说,我们获取数据使我们的第一步,也是我们最重要的一步,因为有些数据藏得很深,或者是有反爬机制,相比之下数据清洗和数据存储操作比较简单. 反爬就是我们访问浏览器地址,不能获取到网 ...
- 从零开始的python爬虫速成指南
在前言: 最近后台有人留言问:有没有python爬虫的相关教程,爬虫不是我专业方向,很多不是很熟悉,而网上很多资料讲的过于散乱,不能很好的系统性学习爬虫,而且水平参差不齐.特委托一位熟悉爬虫的小伙伴, ...
- python爬虫项目教程_Python 爬虫速成教程,还有35个实战项目送给你
两天前,一个小伴侣黑马问这个问题:Python可以爬行的视频只能看到贵宾在视频网站吗?你是如何应对这个问题?当时我的心:你在开玩笑吧,Python不能爬什么?今天,Heimage总结一些Python爬 ...
- python爬虫教程i-Python 爬虫速成教程,还有35个实战项目送给你!
前两天,有个小伙伴问了小编这样一个问题:Python可以爬到视频网站上vip才能看到的视频吗?听到这个问题,你是什么反应?我当时的内心:开玩笑,还有Python爬不到的东西吗? 今天小编就给大家总结了 ...
- 派森python教程_从零开始的Python爬虫速成指南
序 本文主要内容:以最短的时间写一个最简单的爬虫,可以抓取论坛的帖子标题和帖子内容. 本文受众:没写过爬虫的萌新. 入门 0.准备工作 需要准备的东西: Python.scrapy.一个IDE或者随便 ...
- NodeJs爬虫速成
mark一次Nodejs爬虫入门经历 需要用到的依赖 cheerio superagent cheerio是类似于jquery 操作dom获取数据 superagent则是请求对应的网址并返回网页do ...
- 三分钟Python爬虫速成班
这是一篇 Python 入门指南,针对那些没有任何编程经验,从零开始学习 Python 的同学.不管你学习的出发点是兴趣驱动.拓展思维,还是工作需要.想要转行,都可以此文作为一个参考. 在这个信息爆炸 ...
- 《高阶前端指北》之JavaScript爬虫速成-视频下载(第四弹)
视频存储 当前各大视频厂商都在升级视频存储架构,对于多数开发者来说,爬视频不像以前那么容易Get了.视频常规的存储方式有两种: 云端加密 阿里云和腾讯云都提供了对应的加密模式,甚至还提供了管道流的处理 ...
- Python 爬虫速成教程,还有35个实战项目送给你
前两天,有个小伙伴问了黑马哥这样一个问题:Python可以爬到视频网站上vip才能看到的视频吗?听到这个问题,你是什么反应?我当时的内心:开玩笑,还有Python爬不到的东西吗? 今天黑马哥就给大家总 ...
最新文章
- GridView标题行换行之我见 (转)
- vim设置行号等一系列配置
- 金山WPS发布了Linux WPS Office
- vbs删除非空文件夹
- 树莓派kail linux安装wine,在ubuntu14.04中安装wine
- Linux安装宝塔面板
- 程序员笔记(知识)管理的一点经验
- python3学习者的福音
- Dropbox推独立应用,公司估值已达100亿美元
- 小窍门解决大问题(组图)
- 方幂序列 c+~+_C ++编程中的Trigraph序列
- 【Flink】Flink 介绍Flink中 Timer 的使用
- cisco命令防ping_Cisco路由器命令禁止访问特定网站的四个设置步骤
- 【收藏】图片垂直居中的解决办法
- linux安装雅黑字体,在CentOS系统中安装雅黑字体
- 如何认识会计科目,看懂财务报表
- sql 修改时间正价 2天_“熬夜3天,修改17遍,我终于写出了1篇稿费2万的稿子”...
- Linux实现ppp拨号4G模块联网全球APN之中国(China)
- 一个简单的猜数字游戏(附带关机惩罚)
- unity3d俯视角简易移动控制脚本及其易错点小分享
热门文章
- springBoot 用户头像的修改并及时显示
- 收集得最全的sql 语句
- 斯考特·杨(Scott Young)快速学习方法
- Flowerpot(又是尺取。。)
- 义乌一院校专门培养“网络小贩”90后年入百万
- 基于 javaagent + javassist 一步步实现调用链系统 (2)
- 网页加载慢,Initial connection请求偶尔过长
- 使用Vue+ElementUI实现的手机验证码校验、倒计时和禁用效果
- python读取usb数据_PyUSB:从USB设备读取
- 独享IP有什么特点?