# Python爬虫从基础到框架学习
Python爬虫全套学习流程+源码+笔记,初学者可以参考学习
# 1.requests模块基础
* requests模块
* urllib模块
* requests模块
* requests模块:
*Python中原生的一款基于网络请求的模块,功能非常强大,简单便捷,效率及高。
* 作用:模拟浏览器请求
* 使用步骤:
1. 指定url
* UA伪装
* 请求参数的处理
2. 发起请求
3. 获取响应数据
4. 持久化存储
* 实战编码:
* 需求:爬取搜狗首页的页面数据
* 源码:01.requests第一血.py
* 实战巩固:
* 需求:爬取搜狗指定词条对应的搜索结果页面(简易网页采集器)
* 拓展:
UA:User-Agent(请求载体的身份标识)
UA检测
UA伪装
* 需求:破解百度翻译
* popst请求
* 响应数据是一组json数据
* 需求:爬取豆瓣电影分类排行榜
* 需求:爬取肯德基餐厅查询
* 需求:爬取国家药品监督管理局中基于中华人名共和国化妆品生产许可证相关数据
* 动态加载数据
* 首页中对应企业信息数据是通过ajax动态请求到的
* 通过对详情页url的观察发现
* url的域名都是一样的,只有携带参数(id)不一样
* id值可以从首页对应的ajax请求到的json串中获取
* 域名和id值拼接出一个完整的企业详情页的url
# 2.数据解析
* 聚焦爬虫:爬取页面中指定的内容
* 数据解析分类
* 正则
* bs4
* Xpath(重点)
* 数据解析原理概述
* 解析的局部内容都会在标签之间或者标签对应的属性中找到
* 进行指定标签的定位
* 对标签或者标签对应的属性中的数据进行提取(解析)
* 编码流程
1. 指定url
2. 发起请求
3. 获取响应数据
4. 数据解析
5. 持久化存储
* 正则解析:掌握正则表达式
* bs4解析:
* 数据解析的原理
1. 标签的定位
2. 提取标签、标签属性中的数据值
* bs4实现数据解析的原理:
1. 实例化一个BeautifulSoup对象,并且将页面源码加载到该对象中
2. 通过调用BeautifulSoup对象中为徐昂管的属性或者方法进行标签定位和数据解析
* 环境安装:
* pip install bs4
* pip install lxml
* 如何实例化BeautifulSoup对象
* 导包:from bs4 import BeautifulSoup
* 对象的实例化
1. 将本地的html文档中的数据加载到该对象中
fp = open('./爬虫/2.数据解析/test.html', 'r', encoding='utf-8')
soup = BeautifulSoup(fp, 'lxml')
2. 将互联网上获取的页面源码加载到该对象中
page_text = response.text
soup = BeautifulSoup(page_text, 'lxml')
* 提供的用于数据解析的方法和属性:
1. soup.tagName:返回的是文档中第一次出现的tagName对应的标签
2. soup.find()
soup.find('a')等同于soup.a
soup.find('a', id='id')
3. soup2.find_all('tagName'):返回符合要求的所有标签(列表)
4. select: css选择器
soup.select('某种选择器(id,class,标签...选择器)') 返回一个列表
层级选择器:soup2.select('.tang > ul > li > a')
5. 获取标签间的文本数据:
soup.xxx.text/get_text():获取某一个标签中所有的文本内容
soup.xxx.string:获取该标签下直系文本内容
6. 获取标签中属性值:
soup.xxx['attribute']
* Xpath解析:最常用且最便捷高效的一种解析方式,通用性也强
* Xpath解析原理:
1. 实例化一个etree的对象,且需要将被解析的页面加载到该对象中
2. 调用etree对象的xpath方法结合着xpath表达式实现标签的定位和内容的抓取
* 环境的安装
* pip install lxml
* 如何实例化一个etree对象:from lxml import etree
1. 将本地的html文档源码数据加载到etree对象中
etree.parse(filePath)
2. 将从互联网获取的源码数据加载到etree对象中
etree.HTML('page_text')
3. xpath('xpath表达式')
* xpath表达式
* 标签定位:
* /:作用在最左侧表示的是从根节点开始定位;作用在标签之间表示的是一个层级
* //:作用在最左侧表示从根节点一直定位到此节点;作用在标签之间表示的是多层级
* 属性定位://div[@class='xxx']、//p[id='xxx']
* 索引定位://div[@xxx="xxx"]/a[2]
* 取内容:注意取回来的值都为列表
* 取文本:/text()直系文本内容;//text()非直系,本身即字标签所有文本内容
* 取属性值:/@src、/@href
* 发生中文乱码解决方案
1. response. = 'utf-8'
2. response.encoding = response.apparent_encoding
3. str = str.encode('iso-8859-1').decode('gbk')
# 3.验证码识别
* 反爬机制:验证码,识别验证码图片中的数据,用于模拟登录操作
* 识别验证码的操作:
1. 人工肉眼识别(不推荐)
2. 第三方自动识别(推荐)
* 斐斐打码平台:http://www.fateadm.com/index.html
* 识别古诗文网登录页面中的验证码
1. 将验证码图片下载到本地
2. 调用平台提供的实例代码和接口进行图片数据识别
* 模拟登陆
* 爬取基于某些用户的用户信息
# 4.模拟登录cookie操作和IP代理
* 案例1需求:对人人网进行模拟登录
* 点击登录按钮之后会发起一个post请求
* post请求中会携带一个登录之前录入的相关信息(用户名、密码、验证码...)
* 验证码:每次请求都会动态变化
* 模拟登陆流程
1. 验证码的识别,获取验证码图片的文字数据
2. 将验证数据加入到登录的post请求参数中
3. 对post请求进行发送(处理请求参数)
4. 对响应数据进行分析和持久化存储
* 案例2需求:爬取当前用户的相关用户信息
* http/https协议特性:无状态
* 没有请求到页面数据的原因:
发起的第二次基于跟人主页页面请求的时候,服务器端并不知道该次请求时基于登录状态下的请求
* cookie:用来让服务器记录客户端的相关状态
* 手动处理:通过浏览器抓包工具获取cookie值,将该值封装到headers中
* 自动处理:
* cookie值得来源是哪里?——模拟登录post请求后由服务器创建
* session会话对象
* 可以进行请求发送
* 如果请求过程中产生了cookie,则该cookie会被自动存储/携带在session对象中
* 流程
1. 创建一个session对象:session = requests.Session()
2. 使用session对象进行模拟登录post请求对象的发送,cookie就会被存储在session中
3. 再次用上面的session对象对个人主页对应的get请求进行发送(它已经携带了登录状态cookie)
* 代理:破解封IP这种反爬机制
* 什么是代理:代理服务器,代理本机的请求操作
* 代理的作用:可以突破自身IP访问的限制;可以隐藏自身真实的IP
* 代理IP的类型:http/https
* 代理IP的匿名度
* 透明:服务器知道该次请求使用了代理,也知道请求对应的真实IP
* 匿名:知道使用了代理,但是不知道真实IP
* 高匿:不知道数用了代理,更不知道真实的IP
# 5.高性能异步爬虫
* 目的:在爬虫中使用异步实现高性能�
没有合适的资源?快使用搜索试试~ 我知道了~
Python爬虫全套学习流程+源码+笔记,初学者可以参考学习.zip
共158个文件
jpg:101个
py:38个
md:8个
需积分: 5 0 下载量 177 浏览量
2024-02-21
12:55:10
上传
评论
收藏 11.61MB ZIP 举报
温馨提示
Python爬虫全套学习流程+源码+笔记,初学者可以参考学习
资源推荐
资源详情
资源评论
收起资源包目录
Python爬虫全套学习流程+源码+笔记,初学者可以参考学习.zip (158个子文件)
msedgedriver.exe 10.34MB
.gitignore 2KB
sogou.html 14KB
test.html 3KB
FS2NJPUBIX5J3CZP.jpg 255KB
M2L33F0XDLWS7407.jpg 217KB
9R189EH60QA1E0G2.jpg 197KB
三国杀 星春侯福 SP张星.jpg 163KB
LOL灵魂莲华节 阿狸 莉莉.jpg 149KB
三国杀 软语花香 界大乔.jpg 142KB
VDATXGV71GWOEXSD.jpg 139KB
三国杀 玉脂牵芯SP貂蝉4.jpg 129KB
J2BRQ54ZCXW72NTK.jpg 128KB
lol爆破鬼才 海克斯科技.jpg 122KB
三国杀 玉脂牵芯SP貂蝉3.jpg 117KB
LOL英雄联盟疾风剑豪 亚.jpg 113KB
lol英雄联盟0暮光之眼 灵.jpg 112KB
7F2X2XLDGKBY96KG.jpg 108KB
花藤诗赋SP蔡文姬 三国杀.jpg 108KB
英雄联盟lol封魔剑魂 灵.jpg 107KB
《死或生》绫音Ayane 4k.jpg 107KB
英雄联盟探险家 灵能特工.jpg 106KB
UV7H83ONW03RYSDT.jpg 105KB
三国杀 容貌初现SP黄月英.jpg 101KB
《地狱时刻(Hellpoint)》.jpg 100KB
龙《Smite神之浩劫》4k游.jpg 98KB
ZDG04U1LTVQB3TIU.jpg 98KB
云鹰飞将 曜 王者荣耀34.jpg 98KB
《Lost in Random》4k游.jpg 98KB
云鹰飞将曜 王者荣耀4k高.jpg 98KB
lol英雄联盟封魔剑魂 原.jpg 97KB
《League of Angels 2》.jpg 95KB
KSV36AMKLEC6KEW5.jpg 94KB
英雄联盟lol皮城执法官 .jpg 93KB
P17FYY74NGTRZFOP.jpg 93KB
8OY2H5GPN30R3TA6.jpg 82KB
P1K15MA8IU3TGUJQ.jpg 80KB
L36JDMYNH4C41B7X.jpg 77KB
EBFJJQYYAC3Y9Y0O.jpg 76KB
9MS37B0HJBQAIHHJ.jpg 75KB
ONE6MX93GYS0M506.jpg 74KB
M30L2W3QCS8T1I1H.jpg 70KB
RPQPD7Z8LEL175QI.jpg 70KB
ZFZE2WXWS91JKT22.jpg 68KB
test.jpg 66KB
C3BO451FPP05GWE1.jpg 65KB
EABQEOFUYNF9ZF3J.jpg 64KB
OMJQILE0N2Q1H5KG.jpg 60KB
XHQLN1U04FG0LIBQ.jpg 59KB
AW3HF4FZ1JBYGENV.jpg 58KB
9IBWX0YMDFGMNCNG.jpg 56KB
0AHHTW6MJ2YI53QL.jpg 55KB
RS0SR8YXDTMQ2YQP.jpg 53KB
342WF2KOFJ5LC3W6.jpg 53KB
030S4VG6FH5S59JQ.jpg 51KB
S7FY90OYQ5FTNWNF.jpg 50KB
K6M9MU3UQ78JHUAH.jpg 50KB
PEZ78CAVRQL334EJ.jpg 47KB
0XBHBP5ZCRINTBQH.jpg 46KB
3JBIIJN75EFEM0N3.jpg 46KB
A4MZMK4HKEBWRF1K.jpg 46KB
0JD1I2S4HIN9H7J1.jpg 46KB
DGV71LWSDU0TSMTU.jpg 46KB
OO4KK5DC5S3KXW0R.jpg 44KB
P6E2L7VGHC3Y3FZM.jpg 44KB
OWP2QSNW2593MSE8.jpg 43KB
N1W6A7B0HIQHLMBH.jpg 42KB
3JRGS1JDL9PB4O2T.jpg 42KB
6MNUZ0YOCHE17ZZK.jpg 42KB
TR719NF53JHS1R37.jpg 42KB
ZH52JRPK30TQQN65.jpg 40KB
PAP1QK11PEJZGWTH.jpg 40KB
qiutu.jpg 39KB
CDHUCU8MUGLVRISS.jpg 38KB
B3QAJAHEH5E0LD57.jpg 37KB
KP7X8WLD728D17GR.jpg 37KB
NRU0CDUZHKGXGY9O.jpg 36KB
XW515AY0TM3RDUNS.jpg 35KB
DLA4M8PS3HBEW8PI.jpg 34KB
16YU9SLFZY00V5EE.jpg 33KB
K0TD6DFCR834UVO0.jpg 33KB
7986RKNL0CJF2ZZF.jpg 33KB
82G4XEWWI0R0R169.jpg 33KB
KFPZFADN0QA6M2MC.jpg 32KB
JER189DUXKU6P9CP.jpg 30KB
9AYBQ1L5ZHW2JG4J.jpg 30KB
P2AL142VYQHLDILA.jpg 29KB
KUWBZDKYYJPS974F.jpg 28KB
BLFWSREL9RZPVJ6A.jpg 28KB
WS2ZI1TVQ58NC9B4.jpg 28KB
QKW6C0QYJNZDJGXL.jpg 27KB
SDIXLJZKXWTSCAHP.jpg 20KB
658KCQABUS4RWQS7.jpg 20KB
C2QOOX85H5L56IHU.jpg 18KB
OPL1EFF8L0B22H58.jpg 17KB
517B8TG21KP6L4Q8.jpg 16KB
VUS12ZRUVARRUTKI.jpg 16KB
BBYP2W79FD61TM15.jpg 16KB
code.jpg 14KB
0KCP53BQ9TG4XIJE.jpg 14KB
共 158 条
- 1
- 2
资源评论
Kwan的解忧杂货铺
- 粉丝: 2w+
- 资源: 3699
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- 目标检测-零售食品LOGO检测数据集-5000张图-+对应VOC-COCO-YOLO三种格式标签+数据集划分脚本
- 目标检测-零售食品LOGO检测数据集-1000张图-+对应VOC-COCO-YOLO三种格式标签+数据集划分脚本
- Delphi 12 控件之LMD.VCL.Full.Version.zip
- 计算机科学选修课:人工智能导论 第二节 PPT
- 计算机科学选修课:人工智能导论 第一章 PPT
- 忘记navicat密码时,此工具可以帮您查看密码
- 电子商务-电子商务平台-水果销售-在线购物-果库小程序.zip
- 基于React的后台开发框架(javascript)
- 用户界面设计-滑动选项卡-交互组件-用户体验-滑动选项卡小程序.zip
- 371系列智能型电动执行机构说明书
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功