Python爬虫学习之(一)| 基础

Python爬虫学习之(一)| 基础,第1张

概述目录1.爬虫基础简介2.requests模块基础3.数据解析4.验证码识别本文代码在https://github.com/2765776613/Spider1.爬虫基础简介什么是爬虫:通过编写程序,模拟浏览器上网,然后让其去互联网上抓取数据的过程爬虫的价值:实际应用就业爬虫究竟是合法还是违法 目录

1. 爬虫基础简介
2. requests模块基础
3. 数据解析
4. 验证码识别

本文代码在https://github.com/2765776613/SpIDer

1. 爬虫基础简介什么是爬虫: 通过编写程序,模拟浏览器上网,然后让其去互联网上抓取数据的过程 爬虫的价值: 实际应用就业 爬虫究竟是合法还是违法的? 在法律中是不被禁止的具有违法风险善意爬虫 恶意爬虫 爬虫带来的风险可以体现在如下2个方面: 爬虫干扰了被访问网站的正常运营爬虫抓取了受到法律保护的特定类型的数据或信息 如何在编写爬虫的过程中避免进入局子的厄运呢? 时常优化自己的程序,避免干扰被访问网站的正常运行在使用,传播爬取到的数据时,审查抓取到的内容,如果发现了涉及到用户信息 商业机密等敏感内容需要及时停止爬取或传播 爬虫在使用场景中的分类: 通用爬虫: 抓取系统重要组成部分。抓取的是一整张页面数据 聚焦爬虫: 是建立在通用爬虫的基础之上。抓取的是页面中特定的局部内容 增量式爬虫: 监测网站中数据更新的情况。只会爬取网站中最新更新出来的数据 反爬机制: 门户网站,可以通过制定相应的策略或者技术手段,防止爬虫程序进行网站数据的爬取。 反反爬策略: 爬虫程序也可以制定相关的策略或者技术手段,破解门户网站中具备的反爬机制,从而可以获取门户网站中相关的数据 robots.txt协议: 君子协议,明确规定了网站中哪些数据可以被爬虫爬取,哪些数据不可以被爬取 http协议: 概念:就是服务器和客户端进行数据交互的一种形式。 常用请求头信息: User-Agent:请求载体(浏览器)的身份标识Connection:请求完毕后,是断开连接还是保持连接 常用响应头信息: Content-Type:服务器响应回客户端的数据类型 https协议: 安全的超文本传输协议 加密方式: 对称秘钥加密非对称秘钥加密证书秘钥加密 2. requests模块基础

requests模块:python中原生的一款基于网络请求的模块,功能非常强大,简单便捷,效率极高

作用:模拟浏览器发请求

如何使用?(requests模块的编码流程)

指定url发起请求获取响应数据持久化存储

实战编码: spIDer/01requests第一血.py

实战巩固: 5个案例非常重要

3. 数据解析

数据解析分类:

正则bs4xpath(***)

数据解析原理概述:

解析的局部的文本内容都会在标签之间或者标签对应的属性中进行存储

进行指定标签的定位标签或者标签对应的属性中存储的数据值进行提取(解析)

xpath:

最常用且最便捷高效的一种解析方式

xpath解析原理: 实例化一个etree的对象,且需要将被解析的页面源码数据加载到该对象中调用etree对象中的xpath方法结合着xpath表达式实现标签的定位和内容的捕获 如何实例化一个etree对象: from lxml import etree将本地的HTML文档中的源码数据加载到etree对象中: etree.parse(filePath, etree.HTMLParser())可以将从互联网上获取的源码数据加载该对象中:etree.HTML(page_text) xpath表达式:/ :表示从根节点开始定位。表示的是一个层级// :表示的是多个层级。可以表示从任意位置开始定位属性定位://div[@class='song'] tag[@attrname=‘attrValue’]索引定位://div[@class='song']/p[3] 索引是从1开始的取文本: /text():获取的是标签中直系的文本内容//text():标签中非直系的文本内容(所有的文本内容) 取属性: /@attrname 4. 验证码识别识别验证码的 *** 作: 人工肉眼识别。(不推荐)第三方自动识别。(推荐) 云打码(已封~) 注册:普通和开发者用户登录: 普通用户的登录:查询该用户是否还有剩余的题分开发者用户的登录: 创建一个软件:我的软件 -》 添加新软件 -》录入软件名称 -》提交 (软件ID和秘钥)下载示例代码:开发文档 -》点击下载:云打码接口DLL -》PythonHTPP示例下载 快识图片识别平台 总结

以上是内存溢出为你收集整理的Python爬虫学习之(一)| 基础全部内容,希望文章能够帮你解决Python爬虫学习之(一)| 基础所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址:https://www.54852.com/langs/1189344.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-06-03
下一篇2022-06-03

发表评论

登录后才能评论

评论列表(0条)

    保存