wordpress 商品站,大连建设工程信息网防水,建设网站的意义,wordpress百度熊掌号从零开始#xff1a;一步步学习爬虫技术的实用指南#xff08;一#xff09; Urllib1.什么是互联网爬虫2.爬虫核心3.爬虫的用途4.爬虫的分类4.1 通用爬虫#xff1a;4.1 聚焦爬虫#xff1a; 5.反爬手段5.1 User‐Agent#xff1a;5.2.代理IP5.3.验证码访问5.4.动态加载网… 从零开始一步步学习爬虫技术的实用指南一 Urllib1.什么是互联网爬虫2.爬虫核心3.爬虫的用途4.爬虫的分类4.1 通用爬虫4.1 聚焦爬虫 5.反爬手段5.1 User‐Agent5.2.代理IP5.3.验证码访问5.4.动态加载网页 网站返回的是js数据 并不是网页的真实数据5.5.数据加密 6.urllib库使用7.请求对象的定制 Urllib
1.什么是互联网爬虫 如果我们把互联网比作一张大的蜘蛛网那一台计算机上的数据便是蜘蛛网上的一个猎物而爬虫程序就是一只小蜘蛛沿着蜘蛛网抓取自己想要的数据
解释1通过一个程序 根据Url(http://www.taobao.com)进行爬取网页获取有用信息
解释2使用程序模拟浏览器去向服务器发送请求获取响应信息2.爬虫核心
1.爬取网页爬取整个网页 包含了网页中所有得内容
2.解析数据将网页中你得到的数据 进行解析
3.难点爬虫和反爬虫之间的博弈3.爬虫的用途
数据分析/人工数据集社交软件冷启动舆情监控竞争对手监控 4.爬虫的分类
4.1 通用爬虫
实例 百度、360、google、sougou等搜索引擎‐‐‐伯乐在线 功能 访问网页‐抓取数据‐数据存储‐数据处理‐提供检索服务 robots协议 一个约定俗成的协议添加robots.txt文件来说明本网站哪些内容不可以被抓取起不到限制作用 自己写的爬虫无需遵守
网站排名(SEO)
根据pagerank算法值进行排名参考个网站流量、点击率等指标百度竞价排名
缺点
抓取的数据大多是无用的不能根据用户的需求来精准获取数据 4.1 聚焦爬虫
功能 根据需求实现爬虫程序抓取需要的数据 设计思路 确定要爬取的url 如何获取Url List item 模拟浏览器通过http协议访问url获取服务器返回的html代码 如何访问 解析html字符串根据一定规则提取需要的数据 如何解析 5.反爬手段
5.1 User‐Agent
User Agent中文名为用户代理简称 UA它是一个特殊字符串头使得服务器能够识别客户使用的操作系统及版 本、CPU 类型、浏览器及版本、浏览器渲染引擎、浏览器语言、浏览器插件等。
5.2.代理IP
西次代理 快代理 什么是高匿名、匿名和透明代理它们有什么区别 1.使用透明代理对方服务器可以知道你使用了代理并且也知道你的真实IP。 2.使用匿名代理对方服务器可以知道你使用了代理但不知道你的真实IP。 3.使用高匿名代理对方服务器不知道你使用了代理更不知道你的真实IP。
5.3.验证码访问
打码平台 云打码平台 超级
5.4.动态加载网页 网站返回的是js数据 并不是网页的真实数据
selenium驱动真实的浏览器发送请求
5.5.数据加密
分析js代码 6.urllib库使用
urllib.request.urlopen() 模拟浏览器向服务器发送请求
response 服务器返回的数据
response的数据类型是HttpResponse
字节‐‐字符串
解码decode
字符串‐‐字节
编码encode
read() 字节形式读取二进制 扩展rede(5)返回前几个字节
readline() 读取一行
readlines() 一行一行读取 直至结束
getcode() 获取状态码
geturl() 获取url
getheaders() 获取headers
urllib.request.urlretrieve()
请求网页
请求图片
请求视频7.请求对象的定制
UA介绍User Agent中文名为用户代理简称 UA它是一个特殊字符串头使得服务器能够识别客户使用的操作系统
及版本、CPU 类型、浏览器及版本。浏览器内核、浏览器渲染引擎、浏览器语言、浏览器插件等
语法request urllib.request.Request()扩展编码的由来 ‘’‘编码集的演变‐‐‐ 由于计算机是美国人发明的因此最早只有127个字符被编码到计算机里也就是大小写英文字母、数字和一些符号 这个编码表被称为ASCII编码比如大写字母A的编码是65小写字母z的编码是122。 但是要处理中文显然一个字节是不够的至少需要两个字节而且还不能和ASCII编码冲突 所以中国制定了GB2312编码用来把中文编进去。 你可以想得到的是全世界有上百种语言日本把日文编到Shift_JIS里韩国把韩文编到Euc‐kr里 各国有各国的标准就会不可避免地出现冲突结果就是在多语言混合的文本中显示出来会有乱码。 因此Unicode应运而生。Unicode把所有语言都统一到一套编码里这样就不会再有乱码问题了。 Unicode标准也在不断发展但最常用的是用两个字节表示一个字符如果要用到非常偏僻的字符就需要4个字节。 现代操作系统和大多数编程语言都直接支持Unicode。’’