python爬⾍之爬取⽹页基础知识及环境配置概括
记:python爬⾍是爬取⽹页数据、统计数据必备的知识体系,当我们想统计某个⽹页的部分数据时,就需要python爬⾍进⾏⽹络数据的爬取,英⽂翻译为 spider
爬⾍的核⼼
1.爬取⽹页:爬取整个⽹页包含了⽹页中所有得内容
2.解析数据:将⽹页中你得到的数据进⾏解析
3.难点:爬⾍和反爬⾍之间的博弈
爬⾍的⽤途
1、数据分析/⼈⼯数据集
2、社交软件冷启动
3、舆情监控
4、竞争对⼿监控
5、爬⾍分类
6、通⽤爬⾍
爬⾍实例 :百度、360、google、sougou等搜索引擎‐‐‐伯乐在线
功能:访问⽹页‐>抓取数据‐>数据存储‐>数据处理‐>提供检索服务
robots协议:⼀个约定俗成的协议,添加⽂件,来说明本⽹站哪些内容不可以被抓取,起不到限制作⽤⾃⼰写的爬⾍⽆需遵守
⽹站排名(SEO):根据pagerank算法值进⾏排名(参考个⽹站流量、点击率等指标)
百度竞价排名
缺点:
1、抓取的数据⼤多是⽆⽤的
2、不能根据⽤户的需求来精准获取数据
聚焦爬⾍
功能 :根据需求,实现爬⾍程序,抓取需要的数据
设计思路
1.确定要爬取的url
如何获取Url
python请求并解析json数据2.模拟浏览器通过http协议访问url,获取服务器返回的html代码
如何访问
3.解析html字符串(根据⼀定规则提取需要的数据)
如何解析
反爬⼿段
1、使⽤ User Agent :User Agent中⽂名为⽤户代理,简称 UA,它是⼀个特殊字符串头,使得服务器能够识别客户使⽤的操作系统及版本、CPU 类型、浏览器及版本、浏览器渲染引擎、浏览器语⾔、浏览器插件等。
2.代理IP 西次代理 、快代理
什么是⾼匿名、匿名和透明代理?它们有什么区别?
1.使⽤透明代理,对⽅服务器可以知道你使⽤了代理,并且也知道你的真实IP。
2.使⽤匿名代理,对⽅服务器可以知道你使⽤了代理,但不知道你的真实IP。
3.使⽤⾼匿名代理,对⽅服务器不知道你使⽤了代理,更不知道你的真实IP。
3.验证码访问:打码平台、云打码平台、超级鹰
4.动态加载⽹页 ⽹站返回的是js数据 并不是⽹页的真实数 :selenium驱动真实的浏览器发送请求
5.数据加密:分析js代码
爬⾍整套环境
5、运⾏python 程序:
(1)终端运⾏,直接在命令窗⼝输⼊ python 就会进⼊到python 解释器中 ,在mac命令窗⼝中,输⼊python 是2.x版本 输⼊ python3是 3.x 版本
(2)使⽤ipython解释器编写代码 :pip install ipython 。 mac 下使⽤pip3 install ipython
(3)退出python环境:exis() 或者 ctrl+z
6、IDE环境搭建Pycharm : 集成开发环境 下载地址:
(2)配置参考如下图:
python 库使⽤urllib库
安装,pip install urllib : 主要⽤来 模拟浏览器向服务器发送请求
解析库xpath :
需要结合 浏览器插件使⽤,浏览器插件 xpath :
1、为了在⾕歌浏览器中使⽤xpath ,则需要在 ⾕歌浏览器中 加⼊xpath Helper 插件
“”"
1、下载插件
2、将插件进⾏解压,我在访达⾥⾯直接双击就解压了
3、打开⾕歌浏览器,选择右上⽅三个⼩点,到更多⼯具,到扩展程序点击进去
4、打开右上⾓的开发者模式
5、将解压好的插件包拖进来就OK,注意:跟Windows不同的是这个就是⼀个⽂件夹,名为xpath,将这⼀整个⽂件夹拖进去导轨滑块卡
6、将xpath插件选择启⽤就完成了,如果浏览器上还是没有出现xpath插件,将插件重新加载就OK
xpath在mac上的打开与关闭的快捷键为
command + shift + x
“”"
安装lxml 库霹雳天越国语版免费观看
“”"
xml是XML和HTML的解析器,其主要功能是解析和提取XML和HTML中的数据;lxml和正则⼀样,也是⽤C语⾔实现的,是⼀款⾼性能的python HTML、XML解析器,也可以利⽤XPath语法,来定位特定的元素及节点信息
HTML是超⽂本标记语⾔,主要⽤于显⽰数据,他的焦点是数据的外观
XML是可扩展标记语⾔,主要⽤于传输和存储数据,他的焦点是数据的内容
1、使⽤pip命令查看库列表
mac 下的库是在 ~/Library/Python/3.7/lib/python/site-packages/ ⽂件夹下,Windows的是在 python/script/⽂件夹下
pip3 list 此命令会出现警告,这时需要执⾏如下命令magnitude db
python3 -m pip list
2、使⽤pip 升级lxml (最新版本为4.7.1)
python3 -m pip install --upgrade --user
“”"
xpath 解析
“”"
xpath 解析的⽂件包括两部分⽂件
(1)本地⽂件 使⽤ etree.parse()
(2)服务器响应⽂件 ad().decode(‘utf-8’) 使⽤etree.HTML()
“”"
jsonpath 库
安装jsonpath : pip3 install jsonpath
jsonpath 只能解析本地数据,所以⽹络请求返回json 后 需要保存到本地再进⾏解析
BeautifulSoup 库
解析html 类似xpath
缺点:效率低,优点:接⼝⼈性化。⽤的⽐较少,但是有时候也会解决⼀些问题。
安装 pip install bs4
parse解析Selenium⾃动化⼯具库
“”"
Python requests库
扩展:通常代理服务器都设置⼀个较⼤的硬盘缓冲区,当有外界的信息通过时,同时也将其保存到缓冲
区中,当其他⽤户再访问相同的信息时, 则直接由缓冲区中取出信息,传给⽤户,以提⾼访问速度。
4.隐藏真实IP
扩展:上⽹者也可以通过这种⽅法隐藏⾃⼰的IP,免受攻击。
代码配置代理
创建Reuqest对象
创建ProxyHandler对象
⽤handler对象创建opener对象
使⽤opener.open函数发送请求
常⽤框架
Scrapy 框架
Scrapy是⼀个为了爬取⽹站数据,提取结构性数据⽽编写的应⽤框架。 可以应⽤在包括数据挖掘,信息处理或存储历史数据等⼀系列的程序中。
包括:引擎、调度器、下载器、spiders、管道
总结使用vba做一个输入框
爬⾍的重点与难点 在于如何到合适的、有规律的界⾯进⾏数据爬取 以及 如何破解各种反爬⼿段:如cookie登录,绕过权限、提取界⾯隐藏属性等
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论