python爬虫读后感-学习爬虫的感想和心得
写爬虫真不是件简单的事
学习了大概两个月的爬虫,渐渐感觉到写爬虫并不是件简单的事,有诸多的考虑,先简单的记录一下,有时间分部分做示例
一、学习爬虫知识
我是从python3开始做爬虫的,首先,python3的语法必须知道,不过python3并不难,语法也非常简洁。但是,写着发现有个毛病,就是比如一个形参,由于不确定类型,.无法像java那样补全,导致你如果忘了一个函数,必须查看代码或手册。。。不过这也是动态语言都有的问题,但好的IDE会帮你记录,所以使用好的IDE很有必要。。哈哈。
然后是学习python的各种库,为了打好基础,从基础的库开始学习会比较好,比如urlib,然后学习requests,这种是用来发请求的。返回的数据又是各种各样的类型,有html,js,json,字符串等,针对每种格式,当然都需要合适的解析器,当然,正则都能做。。。这里,解析html用到xpath,beautifulsoup,pyquery等库,js代码需要js引擎来运行和分析,例如nodejs,v8,json的解析要用到json库,字符串就看具体情况了。
做完这些,基本上可以开始爬取一些数据了。。。但是,如果爬虫真的就这么简单的话,,那就好了哈
然后你会想提高爬取的速度,你了解到requests库是同步请求,也就是从发出请求到收到响应,线程一直在等,你当然啊会想到多线程,但python单进程只能跑满一个核。。。并且多线程也没那么好写吧,同步控制,分配任务也需要挺多事的。所以,从python3.5开始,新增了一个aiohttp--异步请求库,它可以发送一批请求,以事件驱动,根据回调函数来实现单线程异步。或许你会觉得这还是不够方便,开始使用爬虫框架,例如scrapy,这下速度突飞猛进,瓶颈在带宽或io上了!
二、分析网站
好了,这下普通的网站能随心所欲的爬了,直到这天,你打开了某做了反爬的网站。。。
为啥爬了一下就不能爬了?为啥返回结果和浏览器打开的不一样啊?怎么这个要验证码啊?怎么这个要登录?于是开始了解到需要使用代理防止封ip,需要伪造头部装得够像浏览器。需要分析请求,分析各种参数代表什么意思,如何伪造,开始学习js和分析js的加密代码---这个是真的恶心,使用postman发请求和vscode编码和nodejs运行进行调试,或者可以用selenium+chrome这种大杀器直接莽过去,可是速度可比直接请求api慢多了。碰到需要登录才能获取cookies才能爬的网站,开始做注册机(但是现在一般要手机号,成本高),或者买账号,用来做cookie池。登录需要识别验证码?验证码可就千奇百怪了,人工打码or打码平台or机器学习?终于,在掌握这么多分析技能之后,感觉到爬取一个网站多么麻烦,需要很高成本。。。
三、部署项目
前面终于写好了爬取复杂网站的分析和技巧,现在需要部署项目,服务器就需要不少,数据库需要准备吧,需要做分布式吧,docker,hadoop了解一下?还要维护稳定,处理各种异常,总不能跑一下就挂了吧。还有,网站突然改动一下加密,,得跟着改啊。
python爬虫读后感-学习爬虫的感想和心得相关推荐
- python官网学习爬虫资料_Python爬虫学习?
1 爬虫是互联网上最常见的一种东西了吧. 爬虫这东西每天都在网上爬大量的信息,各大搜索引擎厂商每天都有上百万的爬虫在网络上活动,这些爬虫的作用就是给搜索引擎采集互联网上最新的内容,采集来的内容经过分类 ...
- 花一千多学python值吗_Python爬虫应该怎么学?程序猿花了一周整理的学习技巧,请收下...
原标题:Python爬虫应该怎么学?程序猿花了一周整理的学习技巧,请收下 Python爬虫为什么受欢迎 如果你仔细观察,就不难发现,懂爬虫.学习爬虫的人越来越多,一方面,互联网可以获取的数据越来越多, ...
- 【python教程入门学习】Python零基础入门爬虫项目
Python入门爬虫项目 这是我的第一个python项目,分享给大家. 需求 我们目前正在开发一款产品其功能大致是:用户收到短信如:购买了电影票或者火车票机票之类的事件.然后app读取短信,解析短信, ...
- python自学免费课堂-推荐5个Python爬虫免费学习资源(B站高赞!)
这里是法学院毕业的Python程序员阿峰. 写在前面: 和学任何技能一样,学习Python爬虫也需要两点:行动和时间. 所有的爬虫速成课,我都不推荐. 如果您愿意付出时间和行动,每天在Python上进 ...
- 爬虫python需要什么软件-Python爬虫需要学习那些东西?
基础爬虫过程 基础的爬虫其实很简单的,主要过程就是:发送请求,并获取响应数据: 解析响应数据,获取想要的那部分数据: 存储解析出来的数据: 基础的爬虫事例 比如我们想写一个爬虫程序,自动为我们获取bi ...
- 如何自学python爬虫-Python爬虫:零基础该如何学习爬虫
点击蓝字"python教程"关注我们哟! 现行环境下 大数据与人工智能的重要依托还是庞大的数据和分析采集 类似于淘宝 京东 百度 腾讯级别的企业 能够通过数据可观的用户群体获取需要 ...
- python爬虫库的功能_Python学习爬虫掌握的库资料大全和框架的选择的分析
学Python,想必大家都是从爬虫开始的吧.毕竟网上类似的资源很丰富,开源项目也非常多. Python学习网络爬虫主要分3个大的版块:抓取,分析,存储 当我们在浏览器中输入一个url后回车,后台会发生 ...
- python网络爬虫权威指南 豆瓣_豆瓣Python大牛写的爬虫学习路线图,分享给大家!...
豆瓣Python大牛写的爬虫学习路线图,分享给大家! 今天给大家带来我的Python爬虫路线图,仅供大家参考! 第一步,学会自己安装python.库和你的编辑器并设置好它 我们学习python的最终目 ...
- python爬去百度百科词条_Python爬虫入门学习实践——爬取小说
本学期开始接触python,python是一种面向对象的.解释型的.通用的.开源的脚本编程语言,我觉得python最大的优点就是简单易用,学习起来比较上手,对代码格式的要求没有那么严格,这种风格使得我 ...
- 一个Python爬虫工程师学习养成记
大数据的时代,网络爬虫已经成为了获取数据的一个重要手段. 很多人学习python,不知道从何学起. 很多人学习python,掌握了基本语法过后,不知道在哪里寻找案例上手. 很多已经做案例的人,却不知道 ...
最新文章
- Java基础知识——Java集合详解
- 2012.2.18-silverlight设计器崩溃
- pl/sql developer中建立job
- 搭建Sublime Text3 Java编译运行环境
- win10改成ubundu主题_win10 + Ubuntu20.04 LTS双系统引导界面美化
- 亲属关系--并查集训练T1
- java 10000以内的质数_10000以内的质数表.doc
- apt-get 安装失败:Unable to correct problems, you have held broken packages
- 域名泛解析,二级域名转向问题- -完美解决
- 陈天桥的大脑在孕育什么新传奇(转)
- HDU——2546 饭卡
- 多元统计分析及R语言建模(第四版)-----数据,包,资源
- RFID服装资产管理-新导智能
- 天猫618红包口令怎么获取?天猫618红包使用条件有哪些?
- 这几天以来寻找、分析单机CS数据的经验心得
- 1.1、SR(Segment Routing Over MPLS) 介绍
- 这竟然不是阿汤哥?这个「真的吓人」视频火爆全网
- 我在CSDN发表原创文章,被别人拿去发了一篇北大核心,论文难道就是东拼西凑?
- EJB 3 术语汇编
- 玩转qq轻聊版聊天记录