导图社区 Python爬虫指南
Python是一款跨品台的计算机程序设计语言,可以用于Web开发;网络爬虫;人工智能;数据分析;自动化运维等。该思维导图简单而又详细的介绍了Python的网络爬虫功能,从介绍Python和爬虫的定义,以及爬虫与Web网页的关系到详细解释了Pytho爬虫的原理及策略,最后还简略提及了反爬虫的策略。该思维导图覆盖面之广,介绍的内容大都简单易懂。
导图大赛开始啦!用MindMaster制作思维导图,只要你颜值够高!创意够足!干货够多!就有机会赢取千元奖金,还有更多神秘精美礼品相送,奖品丰厚,惊喜多多,只要参与就能领取福利呦,快带上话题发布作品吧~
春节七天假,似乎什么矛盾和纷争都能用“大过年的”四个字平息。然而总有那么些人和事是例外,既然躲也躲不掉,还是想想当遇到这些提问时,该怎么机智的应对吧!
春节,即农历新年,是一年之岁首、传统意义上的年节,俗称新春。春节对于中国人来说是一年之中最重要的节日,具有特殊的意义,千百年的文化传承已经为春节形成了固定的风俗习惯。 中国地域辽阔,南北相距数千公里,因此对于春节的习俗也是大相径庭,下面跟着思维导图一起来看看南北方春节习俗到底有何区别。
社区模板帮助中心,点此进入>>
python思维导图
Java日常技术
java中io流图解
Java继承与多态
职场必看!Java编程思想思维导图
python留言网站
Python入门
python基础知识点简单总结
J2EE复习大纲
《C语言程序设计》思维导图
Python爬虫
一,什么是Python,爬虫
爬虫Spider的概念
爬虫用于爬取数据,故又名数据采集程序。
爬取的数据来源于网络。
Web服务器(Nginx/Apache)
数据库服务器(MySQL,Redis)
索引库(ElastichSearch)
大数据(Hbase/Hive)
视频/图片库(FTP)
云存储(OSS)等
爬取的数据是公开的,非盈利的。
Python爬虫的概念
使用Python编写的爬虫脚本(程序)可以完成定时,定量,制定目标的数据爬取。
使用的技术。
多(单)线程/进程
网络请求库
数据解析
数据存储
任务调度
二,爬虫与Web后端服务器的关系
爬虫使用网络请求库,相当于客户端请求,Web后端服务根据请求响应数据。
爬虫即向Web服务器发起HTTP请求,正确地接受响应数据,然后根据数据的类型进行数据的解析及存储。
爬虫程序在发起请求前,需要伪造浏览器(User-Agent制定请求头),然后再向服务器发起请求。
三,Python爬虫技术相关库
网络请求
urllib
requests/urllib3
selenium(UI自动测试,动态js渲染)
appium(手机APP的爬虫或UI测试)
re正则
xpath
bs4
json
json序列化:将对象转换成字符串或字节
json反序列化:将字符串或字节转换成对象
pymysql
mongodb
elasticsearch
多任务库
多线程(threading)
线程队列(queue)
协程(asynio,gevent/eventlet)
爬虫框架
scrapy
scrapy-redis分布式(多机爬虫
四,爬虫实现原理
通过网络爬虫
获取初始的url
根据初始的url爬取页面,并获得新的url
将新的url放到url队列中
从url队列中读取新的url,并根据新的url爬起网页,同时从新网页中获取 新url,并重复上述过程
满足爬虫系统设置的停止条件时,停止爬取
聚焦网络爬虫
对爬取目标的定义和描述
从新的url中过滤与爬取目标无关的链接
将过滤后的链接放到url队列中
从url队列中,根据搜索算法,确定url的优先级,并确定下一步要爬取的url地址
从洗一步要爬取的url地址中,读取新的url,然后依据新的url地址爬取网页, 并重复上述爬取过程
满足爬虫的停止条件时或无法获取新的url时停止爬取
五,爬行策略
深度优先爬行策略
优先爬取一个网页,然后将这个网页的下层链接一次深入爬完再返回上一层进行爬取。
广度优先爬行策略
优先爬取同一层次的网页,将同一层次的网页爬取完之后,再选择下一层次的网页去爬取。
大站优先爬行策略
按照对应网页所属的站点归类,网站的网页数量越多,就越优先爬取。
反链策略
优先爬取被其他网页指向次数更多的网页。
其他
六,反爬虫策略
UA(User-Agent)策略
登陆限制(Cookie)策略
请求频次(IP代理)策略
验证码(图片-云打码,文字或物件图片选择,滑块)策略
动态js(Selenium/Splash/api接口)策略