📢📢📢📣📣📣 🌻🌻🌻Hello,大家好我叫是Dream呀,一个有趣的Python博主,小白一枚,多多关照😜😜😜 🏅🏅🏅CSDN Python领域新星创作者,大二在读,欢迎大家找我合作学习 💕 💓 🍉🍉🍉“一万次悲伤,依然会有Dream,我一直在最温暖的地方等你”,唱的就是我!哈哈哈~🌈🌈🌈 🌟🌟🌟✨✨✨
接下来一起和大家重温一下爬虫吧~
网络爬虫(又被称为网页蜘蛛,网络机器人,在FOAF社区中间,更经常的称为网页追逐者),是一种按照一定的规则,自动地抓取万维网信息的程序或者脚本。 我们平时的上网就是浏览器提交请求->下载网页代码->解析/渲染成页面。而我们的爬虫就是模拟浏览器发送请求->下载网页代码->只提取有用的数据->存放于数据库或文件中。所以,我们的爬虫程序只提取网页代码中对我们有用的数据。 如果我们把互联网比作一张大的蜘蛛网,那计算机上的数据便是蜘蛛网上的一个猎物,而`爬虫程序就是一只小蜘蛛,沿着蜘蛛网抓取自己想要的数据。
解释1:通过一个程序,根据Url(http://www.taobao.com)进行爬取网页,获取有用信息 解释2:使用程序模拟浏览器,去向服务器发送请求,获取响应信息
`
1.爬取页面:爬取整个页面,包含页面中的所有内容 2.解析数据:将页面中你得到的数据,进行解析 3.难点:爬虫和反爬虫之间的博弈
1.数据分析 / 人工数据集 2.社交软件冷启动 3.舆情控制 4.竞争对手监控
实例: 百度、360、google、sougou等搜索引擎‐‐‐伯乐在线 功能: 访问网页‐>抓取数据‐>数据存储‐>数据处理‐>提供检索服务 robots协议 一个约定俗成的协议,添加robots.txt文件,来说明本网站哪些内容不可以被抓取,起不到限制作用 自己写的爬虫无需遵守 网站排名(SEO)
- 根据pagerank算法值进行排名(参考个网站流量、点击率等指标)
- 百度竞价排名
缺点: 1.抓取的数据大多是无用的 2.不能根据用户的需求来精准获取数据
功能: 根据需求,实现爬虫程序,抓取需要的数据 设计思路: 1.确定要爬取的url 如何获取Url 2.模拟浏览器通过http协议访问url,获取服务器返回的html代码 如何访问 3.解析html字符串(根据一定规则提取需要的数据) 如何解析
User Agent中文名为用户代理,简称 UA,它是一个特殊字符串头,使得服务器能够识别客户使用的操作系统及版,urllib库使用 7.请求对象的定制 扩展:编码的由来 User Agent中文名为用户代理,简称 UA,它是一个特殊字符串头,使得服务器能够识别客户使用的操作系统及版 本、CPU 类型、浏览器及版本、浏览器渲染引擎、浏览器语言、浏览器插件等。
西次代理 快代理 什么是高匿名、匿名和透明代理?它们有什么区别? 1.使用透明代理,对方服务器可以知道你使用了代理,并且也知道你的真实IP。 2.使用匿名代理,对方服务器可以知道你使用了代理,但不知道你的真实IP。 3.使用高匿名代理,对方服务器不知道你使用了代理,更不知道你的真实IP。
打码平台 :云打码平台
网站返回的是js数据 并不是网页的真实数据 selenium驱动真实的浏览器发送请求
分析js代码
urllib.request.urlopen() 模拟浏览器向服务器发送请求 response 服务器返回的数据 response的数据类型是HttpResponse
网页:
图片:
视频:
UA介绍:,简称 UA,它是一个特殊字符串头,使得服务器能够识别客户使用的操作系统 及版本、CPU 类型、浏览器及版本。浏览器内核、浏览器渲染引擎、浏览器语言、浏览器插件等
request = urllib.request.Request()
编码的由来:
由于计算机是美国人发明的,因此,最早只有127个字符被编码到计算机里,也就是大小写英文字母、数字和一些符号, 这个编码表被称为ASCII编码,比如大写字母A的编码是65,小写字母z的编码是122。 但是要处理中文显然一个字节是不够的,至少需要两个字节,而且还不能和ASCII编码冲突, 所以,中国制定了GB2312编码,用来把中文编进去。 你可以想得到的是,全世界有上百种语言,日本把日文编到Shift_JIS里,韩国把韩文编到Euc‐kr里, 各国有各国的标准,就会不可避免地出现冲突,结果就是,在多语言混合的文本中,显示出来会有乱码。 因此,Unicode应运而生。Unicode把所有语言都统一到一套编码里,这样就不会再有乱码问题了。 Unicode标准也在不断发展,但最常用的是用两个字节表示一个字符(如果要用到非常偏僻的字符,就需要4个字节)。 现代操作系统和大多数编程语言都直接支持Unicode。
1:get请求方式的参数必须编码,参数是拼接到url后面,编码之后不需要调用encode方法 2:post请求方式的参数必须编码,参数是放在请求对象定制的方法中,编码之后需要调用encode方法
还看不懂Python OpenCV?不,我不允许!隔壁大爷都说看得懂!❤️环境配置+问题分析+视频图像入门❤️万字只为你~
Python OpenCV实战画图——这次一定能行!爆肝万字,建议点赞收藏~❤️❤️❤️
❤️大家中秋节快乐❤️接下来请欣赏Python Opencv实战之图像阈值和模糊处理,万字实战,收藏起来吧~
Python OpenCV ❤️超级有趣❤️ 颜色转换 + 几何变换,一网打尽⚡⚡⚡~
Python OpenCV图像处理:❤️转换+梯度❤️边缘检测+图像融合,aplacian金字塔合成新物种