如何入门网络爬虫,摸索一年的心里路程

接触python一年有余,大部分时间都是自己在摸索,走了很多弯路,写下这篇博客以供各位参考,希望大家少走弯路。毕竟人生苦短,少犯低级错误。
首先,我们要了解python能帮助我们的生活吗,否则学它有什么用?想象这样的画面,当我们苦点鼠标去刷新12306网站,只为求一张回家票的时候;当我们陷入office枯燥的重复工作的时候,当我们需要汇总微信发来的信息的时候,当我们需要爬取某网站大量数据的时候,你是否想过只需要几行代码就可以解放双手,摆脱无谓的时间,去做我们想做的事,如果你已经感同身受,就尝试学学python吧。
一、准备工作
1.1 系统
我用的操作系统Windows10,没有用过苹果电脑,所以这里我只讲Windows系统(其实用Linux系统最佳,没有那么多兼容问题)。

1.2 python版本
新手面临的第一个问题就是python版本的选择问题,我推荐python最新版3.7,不用考虑python2版本,马上就停止使用了,但市面上很多参考书都是基于python2版本写的,所以有时候我们也要了解一下python2版本。

1.3 编译器
确定了版本,下一个问题就是安装什么编译器,对于数据分析的同学,我推荐anaconda。下载地址: 官网下载
傻瓜式安装,一路下一步就OK,在这里勾选第一个,把anaconda添加进环境路径。
在这里插入图片描述
安装完成打开anaconda里的spyder,图像和界面如下
在这里插入图片描述
在这里插入图片描述
其界面模拟matlab,用过matlab的同学一定会感到非常亲切,可以实时查看各变量情况,而不需要输入print函数。
还有一个最流行的就是JetBrains PyCharm Community Edition软件,比较适合编写项目使用,具体下载安装请参考python环境搭建和pycharm的安装配置及汉化(零基础小白版)
其实刚入门的小白最怕的就是选择,如果实在不知道该用哪个,就用anaconda,它的优点是简单无脑,非常适合新手,缺点是内置了大量的第三方库(也未必是缺点,省的你自己安装下载了),所以体积略为臃肿,等熟练使用了,再换 PyCharm看看适不适合自己。

1.4 安装第三方库
python只安装了标准库,大量实用的第三方库还需要手动安装,安装方法主要是通过pip进行,步骤是win键+R打开运行,输入cmd确定,进入命令行,输入pip install [packname],这里的packname就是你要安装的第三方库名,例如非常有用的resquests库,安装方法为pip install requests;如果需要卸载就输入pip uninstall [packname]。但这里有个问题就是pip默认使用的下载源是外国网站,下载速度感人,所以最后把下载源改成国内的,当然如果你能忍受这个下载速度,嫌麻烦也可以不换。
国内源:
新版ubuntu要求使用https源,要注意。
清华:https://pypi.tuna.tsinghua.edu.cn/simple
阿里云:http://mirrors.aliyun.com/pypi/simple/
中国科技大学 https://pypi.mirrors.ustc.edu.cn/simple/
华中理工大学:http://pypi.hustunique.com/
山东理工大学:http://pypi.sdutlinux.org/
豆瓣:http://pypi.douban.com/simple/
windows下,直接在user目录中创建一个pip目录,如:C:\Users\xx\pip,新建文件pip.ini,这里不要用系统自带的文本,用notepad++软件进行创建,这个软件网上一搜全都是,程序员必备软件,就不提供下载地址了。
在这里插入图片描述
输入内容,编码为UTF-8

[global]
index-url=http://mirrors.aliyun.com/pypi/simple/
[install]
trusted-host=mirrors.aliyun.com

这里推荐常用的第三方库:
requests(网络爬虫,解析url)
selenium(模拟浏览器爬取)
lxml(解析HTML文档)
openpyxl;xlrd(excel读写)
docx(word读写)
pyautogui(控制电脑鼠标和键盘)
pyinstaller(将python脚本封装为exe文件)
itchat(微信)
uiautomator2(使用adb控制手机自动化测试)
jieba(进行中文语句分词)
wordcloud(词云)

1.5常用软件
推荐一些常用软件,绝对可以大幅提高你的效率
1.Google Chrome(以后网络爬虫分析都用谷歌浏览器)
2.Bandizip(解压,无广告)
3.Fiddler或者Charles(手机抓包)
安装参考:Charles 破解版
4.Appetizer(手机自动化测试)
5.notepad++(程序员专用,可以打开各种类型文件)
6.SketchPath(查看xpath路径)
7.ditto(剪切版,复制粘贴多个数据)
8.天若OCR文字识别(截图识别文字)
9.Everything(秒搜电脑文件)
10.Free Download Manager 5(多线程下载器)
11.spy++(抓取电脑控件)

1.6编程中的好习惯
这里参考知乎一篇回答:编程中,有哪些好的习惯从一开始就值得坚持?
1.规范化自己的代码,少点个人风格,多点通用规矩
2. 宁可变量名长,也不要让变量名短得让人无法推测其含义。
3. 在电脑里安装两套输入法,编程的时候,将中文输入法彻底关掉,确保任何快捷键都不会将其转换成中文输入法,防止中文类似符号引起混淆,
比如:中文 :(); English: () ;
一点点小错误,就有可能让你多花一两个小时在没有意义的事上,人生苦短,尽量避免低级错误。
4.尽可能杜绝重复代码,凡是需要用至少两次的代码,给它单独做一个类或函数。
5.避免类与类之间的内部调用(Cycle Reference),其实也就是降低函数模块的耦合程度。类与类之间的调用只允许通过接口,保证更改某个类的时候,其他的仍然能工作。
6.多读别人的优秀代码,拿别人的优秀代码和自己的代码进行对比,学习别人的长处,吸收经验。
7.尝试着做内容的生产者,尝试着写一些教程或笔记,分享给社区,不要只做社区内容的吸收者,还要不断地生产内容,回馈社区给你的帮助,比如在StackOverFlow上回答别人的问题等。
8.既要脚踏实地,也要多看看社区发生了什么新闻,有什么新的技术和软件的发布,这些技术和软件将怎样影响你的开发工作,现在使用的IDE或Editor是否有更好的替代产品等等。
9.没有任务的时候,也不要闲下来,去开发点你喜欢的东西,从中挑战自己,增长经验。
10.不要过分依赖教程,要学会看官方文档。凡是能被做成教程的东西,往往已经过时了,最新的技术,最新发布的标准,往往没有现成的教程,你需要去认真阅读官方文档,那里的东西才是最权威的。
11.不要参与语言好坏的争论,人们往往偏向于喜欢自己用得熟练,用得多的那个语言,语言好坏之争,就和争谁的女朋友漂亮一样,我当然觉得自己的女朋友(虽然是null)最漂亮,但是别人并不这么觉得。
12.当你有什么需求的时候,往往别人也有这个需求,而且往往也有了相应的工具去解决你这个需求,比如,你想将函数的调用关系可视化,弄成树状图那样,这样的工具已经有了,比如SourceInsight(付费),Source Navigator(免费)等。
13.少在国内的XX软件园里下载各种破解软件,盗版软件等,这些软件园为了盈利,会在你安装的过程中,悄无声息地给你安装上一堆其他的流氓软件,360首当其冲,这些垃圾软件,删的越干净越好。
14.你的开发电脑,CPU可以差些,但内存最好大些,推荐至少要8G,甚至推荐10G往上走,你常常需要同时打开一堆浏览器页面和一个IDE甚至还有别的一堆工具,如果你做过安卓开发,AndroidStudio动辄就调用你电脑2-3G的内存,一般的4G电脑肯定是吃不消的,严重降低开发体验,但也并不是让你换电脑,内存条了解一下。
15.保持一个健康,干净的电脑状态,硬盘里的文件存储要有调理,容易寻找指定文件,降低文件丢失概率,加快文件寻找速度。
16.C盘快满了的话,可以通过Disk Manager将别的磁盘的空间送给C盘。
17.可以考虑用一个电脑架子,防止乌龟颈,保护颈椎。
18.下载一个护眼宝,保护视力。

二、基础篇
准备工作完成,学习基础才是重点,有多少人从入门到放弃,根本上就是没有动力,学习过程中没有得到及时的回馈,遇到错误不知道怎么解决,最后放弃挣扎。所以这里我推荐的学习过程是,在学习python过程中能很快帮助你的生活,例如excel和word自动化处理,手机自动化处理,简单爬取朋友圈数据,微博数据,这些项目能让你有动力继续深入学习下去。
具体过程是边看书,边看python官方文档,边自己编程练习,这样学习效率最高。书籍下面有推荐,为了防止从入门到放弃,这里我只优先推荐一本书,Python编程快速上手 让繁琐工作自动化,非常通俗易懂,缺点是作为python的核心“类”没有讲,但足够让你有动力学习下去。
闲来无事可以看看下面推荐的知乎回答和微信推文,很多有意思的项目也会让你干劲十足。

2.1 书籍入门
1.Python编程快速上手 让繁琐工作自动化
2.python无师自通
3.PYTHON网络爬虫从入门到实践
4.笨办法学Python(第四版)
5.《Python 3网络爬虫开发实战》
也可以参考知乎一篇回答:自学入门 Python 优质中文资源索引

2.2网络教程入门
1.廖雪峰的官方网站
2.Python 3.7.3 中文官方文档

2.3知乎回答
1.你在 GitHub 上看到过的最有意思的项目是什么?
2.爬虫究竟是合法还是违法的?
3.用Python实现ppt转化图片(附带长图合并功能)
4.一篇了解爬虫技术方方面面
5.主流网站 Python 爬虫模拟登陆方法汇总
6.Python爬虫需要学习那些东西?
7.受用一生的高效 PyCharm 使用技巧(一)
8.Google推出了Python最牛逼的编辑器
9.23个Python爬虫开源项目代码,包含微信、淘宝、豆瓣、知乎、微博等
10.7步搞定数据清洗-Python数据清洗指南
11.你们都是怎么学 Python 的?
12.GitHub 上有哪些优秀的 Python 爬虫项目?
13.156个Python网络爬虫资源,妈妈再也不用担心你找不到资源!
14.你都用 Python 来做什么?
15.为什么网络爬虫好难,涉及到的知识我不会?
16.Python的高级特征你知多少?来对比看看

2.4 微信公众号
1.学习python的正确姿势
2.Charles的皮卡丘
3.麻瓜编程


以下为公众号文章
1.如何在手机或 iPad 上写 Python 代码?
2.如何爬取异步加载数据
3.有一个利器,能帮你快速爬取你想要的一切……
4.码农进阶清单 | 每天用干货喂饱你
5.盘点 2017 年 Python 领域值得关注的 5 个库、工具和开发者
6.用 Python 高效办公 | 一次写好100个 word 通知
7.我是如何高效写爬虫的?
8.推荐几个值得关注的爬虫库
9.老司机干货 | 用爬虫来学习 Python 并发编程
10.Python 爬取爱奇艺腾讯视频 250,000 条数据分析为什么李诞不值得了?

三、进阶
选择自己喜欢的领域深入进行研究

3.1 微信
itchat项目简介

3.2 手机自动化测试
1.adb 常用命令
2.ATX 浅谈自动化测试工具 python-uiautomator2
3.全程不用usb数据线,adb通过网络连接Android设备
4.uiautomator2官方文档

3.3 office自动化处理
我博客总结的一些用法
1.openpyxl库用法
2.win32处理excel
3.win32处理word
4.docx模块处理word

3.4 数据可视化
pyecharts官方文档

3.5 win32操作windows系统
1.史上最强—win32 API函数大全文档
2.python win32api win32gui win32con 简单操作教程
3.如何利用Python和win32编程避免重复性体力劳动(一)
4.python windows软件窗口menu操作 pywin32库

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值