写爬虫真不是件简单的事

学习了大概两个月的爬虫,渐渐感觉到写爬虫并不是件简单的事,有诸多的考虑,先简单的记录一下,有时间分部分做示例

一、学习爬虫知识

我是从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爬虫读后感-学习爬虫的感想和心得相关推荐

  1. python官网学习爬虫资料_Python爬虫学习?

    1 爬虫是互联网上最常见的一种东西了吧. 爬虫这东西每天都在网上爬大量的信息,各大搜索引擎厂商每天都有上百万的爬虫在网络上活动,这些爬虫的作用就是给搜索引擎采集互联网上最新的内容,采集来的内容经过分类 ...

  2. 花一千多学python值吗_Python爬虫应该怎么学?程序猿花了一周整理的学习技巧,请收下...

    原标题:Python爬虫应该怎么学?程序猿花了一周整理的学习技巧,请收下 Python爬虫为什么受欢迎 如果你仔细观察,就不难发现,懂爬虫.学习爬虫的人越来越多,一方面,互联网可以获取的数据越来越多, ...

  3. 【python教程入门学习】Python零基础入门爬虫项目

    Python入门爬虫项目 这是我的第一个python项目,分享给大家. 需求 我们目前正在开发一款产品其功能大致是:用户收到短信如:购买了电影票或者火车票机票之类的事件.然后app读取短信,解析短信, ...

  4. python自学免费课堂-推荐5个Python爬虫免费学习资源(B站高赞!)

    这里是法学院毕业的Python程序员阿峰. 写在前面: 和学任何技能一样,学习Python爬虫也需要两点:行动和时间. 所有的爬虫速成课,我都不推荐. 如果您愿意付出时间和行动,每天在Python上进 ...

  5. 爬虫python需要什么软件-Python爬虫需要学习那些东西?

    基础爬虫过程 基础的爬虫其实很简单的,主要过程就是:发送请求,并获取响应数据: 解析响应数据,获取想要的那部分数据: 存储解析出来的数据: 基础的爬虫事例 比如我们想写一个爬虫程序,自动为我们获取bi ...

  6. 如何自学python爬虫-Python爬虫:零基础该如何学习爬虫

    点击蓝字"python教程"关注我们哟! 现行环境下 大数据与人工智能的重要依托还是庞大的数据和分析采集 类似于淘宝 京东 百度 腾讯级别的企业 能够通过数据可观的用户群体获取需要 ...

  7. python爬虫库的功能_Python学习爬虫掌握的库资料大全和框架的选择的分析

    学Python,想必大家都是从爬虫开始的吧.毕竟网上类似的资源很丰富,开源项目也非常多. Python学习网络爬虫主要分3个大的版块:抓取,分析,存储 当我们在浏览器中输入一个url后回车,后台会发生 ...

  8. python网络爬虫权威指南 豆瓣_豆瓣Python大牛写的爬虫学习路线图,分享给大家!...

    豆瓣Python大牛写的爬虫学习路线图,分享给大家! 今天给大家带来我的Python爬虫路线图,仅供大家参考! 第一步,学会自己安装python.库和你的编辑器并设置好它 我们学习python的最终目 ...

  9. python爬去百度百科词条_Python爬虫入门学习实践——爬取小说

    本学期开始接触python,python是一种面向对象的.解释型的.通用的.开源的脚本编程语言,我觉得python最大的优点就是简单易用,学习起来比较上手,对代码格式的要求没有那么严格,这种风格使得我 ...

  10. 一个Python爬虫工程师学习养成记

    大数据的时代,网络爬虫已经成为了获取数据的一个重要手段. 很多人学习python,不知道从何学起. 很多人学习python,掌握了基本语法过后,不知道在哪里寻找案例上手. 很多已经做案例的人,却不知道 ...

最新文章

  1. Java基础知识——Java集合详解
  2. 2012.2.18-silverlight设计器崩溃
  3. pl/sql developer中建立job
  4. 搭建Sublime Text3 Java编译运行环境
  5. win10改成ubundu主题_win10 + Ubuntu20.04 LTS双系统引导界面美化
  6. 亲属关系--并查集训练T1
  7. java 10000以内的质数_10000以内的质数表.doc
  8. apt-get 安装失败:Unable to correct problems, you have held broken packages
  9. 域名泛解析,二级域名转向问题- -完美解决
  10. 陈天桥的大脑在孕育什么新传奇(转)
  11. HDU——2546 饭卡
  12. 多元统计分析及R语言建模(第四版)-----数据,包,资源
  13. RFID服装资产管理-新导智能
  14. 天猫618红包口令怎么获取?天猫618红包使用条件有哪些?
  15. 这几天以来寻找、分析单机CS数据的经验心得
  16. 1.1、SR(Segment Routing Over MPLS) 介绍
  17. 这竟然不是阿汤哥?这个「真的吓人」视频火爆全网
  18. 我在CSDN发表原创文章,被别人拿去发了一篇北大核心,论文难道就是东拼西凑?
  19. EJB 3 术语汇编
  20. 玩转qq轻聊版聊天记录

热门文章

  1. Windows7 内部版本7601 此Windows副本不是正版
  2. 程序员述职报告范文_程序员个人述职报告范文精选3篇
  3. JS所有国家 数组与对象
  4. Excel 输入内容自动生成条形码
  5. 【Transformers】第 8 章 :使Transformers高效生产
  6. WorldFirst澳元收款账户上线,人民币提现当天到账!
  7. 嵌入式培训怎么学?嵌入式开发培训学什么内容
  8. gta5 apk android,gta5apk
  9. 沁恒微USB蓝牙单片机CH573F初步熟悉
  10. 常见词根-词缀-需要记忆