前几天有刷到一个提问:爬虫学了几个月了却还是不敢上手去接单,爬虫接单靠不靠谱?有些新手心里会犯嘀咕,怕不小心就踩了红线。作为过来人也接过不少单,来浅聊一下我的经验。
这篇所说的经验总结可能更适合爬虫新手,爬虫大佬可以忽略。
此篇小结
- Python爬虫学到怎么样可以接单?
- 可爬与不可爬的问题
- 哪里接单?
- 什么单不接?
- 注意事项
一、Python爬虫学到怎么样可以接单?
1)基础简单回顾
想要上手爬虫,基本知识和工具的熟练使用是必须要具备的;
首先Python的一些语言基础肯定要有,爬虫大部分是用python写的,基本的语法、数据结构、函数等要熟练。
比如:
- List dict:用来序列化你爬的东西
- 切片:用来对爬取的内容进行分割、生成
- 条件判断(if等):用来解决爬虫过程中哪些要哪些不要的问题
- 循环和迭代(for while):用来循环、重复爬虫动作
- 文件读写操作:用来读取参数、保存趴下来的内容等
其次Python爬虫主要用到的库就是request库,这个库是必须要学习的,获取到的数据还需要你自行处理,通过数据筛选规则,正则表达式等等技术进行筛选。
还有就是知道如何应付反爬;现在很多网站都开发了属于自己的反爬机制,所以一些常见的反爬措施是需要学习掌握的,否则无法顺利爬取到想要的数据。
需要补充学习的部分:
- 大致了解网络协议:HTTP/HTTPS 协议、tcp-ip协议;
- 了解HTML 、CSS、等前端基础;
- 理解网站的POST GET的一些相关概念,JS的一些基本内容,方便理解动态网页。
总结一下:
想要自己写一个Python爬虫程序,必须学会Python基础,包括环境安装、基础语法、字典、正则匹配、还有一些数据处理技术等等。
其次就是模拟请求的库request以及解析库的使用,还有一些反爬技术和前端基础。
2)爬虫的工作流程
简记为“爬虫四部曲”;
① 发起请求
使用http库向目标站点发起请求,即发送一个Request;
Request包含:请求头、请求体等;
如果只进行基本的爬虫网页抓取,urllib库足够用,Requests使用起来更简洁,自带json解析器,应付大多数的静态网页爬取问题不大。
涉及到动态网页抓取的话就要用到Selenium了,通常配合PhantomJS使用,,Selenium+PhantomJS可以抓取那些使用JS加载数据的网页。
② 获取响应内容
如果服务器能正常响应,则会得到一个Response;
Response包含:html、json、图片、视频等;
③ 解析内容
解析html数据:正则表达式、第三方解析库如Beautifulsoup、pyquery等;
解析json数据:json模块
解析二进制数据:以b的方式写入文件
个人一般情况下会用bs4,bs4无法满足就用正则。
正则一般用来满足特殊需求、以及提取其他解析器提取不到的数据,re速度比较快,但是写正则比较麻烦。
前端基础比较扎实的,用pyquery是最方便的,当然了,自己哪个用着方便就用哪个,无需纠结。
④ 保存数据
需要用到数据库;
- 小规模数据:可以使用txt文件、json文件、csv文件等方式来保存文件;
- 大规模数据:就需要使用mysql、mongodb、redis等数据库;
这步比较简单,掌握主流的数据库使用就差不多了。
关于Python技术储备
学好 Python 不论是就业还是做副业赚钱都不错,但要学会 Python 还是要有一个学习规划。最后大家分享一份全套的 Python 学习资料,给那些想学习 Python 的小伙伴们一点帮助!
一、Python所有方向的学习路线
Python所有方向的技术点做的整理,形成各个领域的知识点汇总,它的用处就在于,你可以按照上面的知识点去找对应的学习资源,保证自己学得较为全面。
二、Python必备开发工具
三、精品Python学习书籍
当我学到一定基础,有自己的理解能力的时候,会去阅读一些前辈整理的书籍或者手写的笔记资料,这些笔记详细记载了他们对一些技术点的理解,这些理解是比较独到,可以学到不一样的思路。
四、Python视频合集
观看零基础学习视频,看视频学习是最快捷也是最有效果的方式,跟着视频中老师的思路,从基础到深入,还是很容易入门的。
五、实战案例
光学理论是没用的,要学会跟着一起敲,要动手实操,才能将自己的所学运用到实际当中去,这时候可以搞点实战案例来学习。
六、Python练习题
检查学习结果。
七、面试资料
我们学习Python必然是为了找到高薪的工作,下面这些面试题是来自阿里、腾讯、字节等一线互联网大厂最新的面试资料,并且有阿里大佬给出了权威的解答,刷完这一套面试资料相信大家都能找到满意的工作。
最后祝大家天天进步!!
上面这份完整版的Python全套学习资料已经上传至CSDN官方,朋友如果需要可以直接微信扫描下方CSDN官方认证二维码免费领取【保证100%免费】。