入门python3爬虫需要掌握的知识与技巧
来源:互联网 发布:淘宝特种经营许可申请 编辑:程序博客网 时间:2024/05/20 20:05
近期学了几天的python爬虫,在一个人瞎摸索中吸取了很多经验,在此把自己的初学者学习的经验拿出来分享。
下面讲的是python3,没了解过python2,不过似乎有些地方两者区别很大。
入门python3爬虫需要对一些库和模块有一定的了解,还需学会查看网页源代码的技巧,并了解一些爬虫框架。
一、认识urllib库
urllib是用于获取网络资源的库,python3自带。
初学爬虫者,主要是掌握urllib库中request模块的一堆函数功能。
有必要的话,也可以学习一下error模块。
request模块一些常用到的函数
一些常用到的方法
编码解码还有这两种函数,str是关于编码的函数,bytes是关于解码的函数。
网页涉及到的编码经常有’utf-8’和”gb18030’等。
一些编码解码的内容可以看这一篇博客——python3 中的编码和解码
二、认识一些模块
re模块
首先,需要了解的是 re模块——正则表达式模块。
正则表达式是什么?可以这么说,是用于快速从一大堆字符中快速找出想要的子字符串的一种表达方式。函数+表达方式=快速找出子字符串。
这个模块是初学者必须要弄清楚的,内容比较多,在这里就不多说了。可以参考我写的一篇简略的博客——正则表达式
os模块
可用于对文件文本的操作,可以创建文件夹,访问文件夹内容等(博主对该库了解不深,只用来创建过文件夹和访问文件夹内容)
可以了解的函数有 创建文件夹用的函数mkdir和chdir、访问文件夹里的所有文件函数listdir。
csv模块
爬取出来的数据可以以csv的格式保存,可以用office办公软件中的Excel表格软件打开。
网上给出的写法有好几种,在此给出博主的写法。
首先你需要了解内置函数open的newline参数用法,在这里,用与去除存入csv文件时多出来的空行。
csv模块函数
writer,返回一个对写入数据操作的对象。
writerow,参数是列表,在表格中写入一行数据。
import csvfilename = '统计.csv'fileheader = ['姓名', '性别']contexts = [['小明', '男'], ['小刚', '男'], ['小红', '女'], ['小花', '女']]with open(filename, 'w', newline='', encoding='gb18030') as f: csv_writer = csv.writer(f) csv_writer.writerow(fileheader) for people in contexts: csv_writer.writerow(people)
三、查看网页源码
网站的文字内容,图片网址,基本都在该网站的网页源码。故而爬取时,先把该网站的网页源码爬取出来,然后从网页源码中筛选出自己想要的数据。用正则表达式从网页源码中筛选信息时,需要先看网页源码来制定好合适的正则表达式。
一般鼠标右击该网页,找到”查看网页源代码“这一选项即可打开。
快捷键:Ctrl + U
不过网页源代码太多太乱,有的时候找信息并不容易,可以使用Ctrl+F查找功能进行查找。
也可以在网页中,找到你想爬取的信息,然后右击该信息位置,找到”审核元素”或者”检查”选项,可以看到整齐简洁的代码。
但是,爬取信息都是基于网页源代码的,而”检查”选项给出的代码可能与源代码不一样,这样的话就会出错。这涉及到网络编程知识,不作解释。
四、认识一些爬虫框架
爬虫框架实用的有名气大的Beautiful Soup、强大的Scrapy、分布式cola等。
这些都需要下载,下载对于新手来说比较麻烦。
安装路径太过麻烦,在此就不多说了。
- 入门python3爬虫需要掌握的知识与技巧
- 需要掌握的知识
- python 爬虫入门到精通 成长路线 所需要掌握哪些知识
- 学习flex开发需要掌握的入门知识
- Python3 网络爬虫入门知识碎片
- SEO入门者需要掌握的基本SEO技巧
- ACM需要掌握的知识
- 近期需要掌握的知识
- html5需要掌握的知识
- java需要掌握的知识
- 面试需要掌握的知识
- 数字图像处理与识别需要掌握的知识要点
- 使用static与const关键字时需要掌握的知识
- 使用static与const关键字时需要掌握的知识
- Jquery需要掌握的技巧
- Python3爬虫需要注意的一些东西
- python3 [爬虫入门实战]爬虫之mongoDB数据库的安装配置与可视化
- python3 [爬虫入门实战]爬虫之mongoDB数据库的安装配置与可视化
- 使用原生js读取树形结构对象构筑多级结构菜单
- hibernate详细脑图
- 全面提高你的搜索技巧
- Python语言入门(八)动态语言中的类与对象初探
- IT界的后门事件
- 入门python3爬虫需要掌握的知识与技巧
- 精通脚本黑客3.1-3.8笔记
- 基于Vue的三级联动下拉框
- Android——RecyclerView——ViewHolder全部源码及翻译、注释
- 数据结构第三次实验
- Ashampoo Burning Studio 19(阿香婆光盘刻录软件)官方破解版V19.0.0.24下载
- javascript中new关键字详解
- 初学 Tensorflow(线性回归预测)
- Oracle批量插入