前面咱们初步了解爬虫并简单操作了一番,现在对爬虫基本过程进行一个总结。
一、准备目标url
分两种情况:
1.页码总数明确
2.页码总数不明确,如果url比较少可以放到列表中来遍历。通过xpath来提取页码。
二、向目标的url发送请求
发送请求时,我们会遇到一些反爬手段,其中最常见的就是用户代理user agent、模拟用户登陆状态cookie。另外,进行post请求时,一定要加上data表单。加上这些,一般的爬虫请求基本上就没问题了。
当然,有的时候也可以通过 代理IP(付费) 的方式。
三、提取数据
这一步,我们要先确定数据的位置。
先查看一下网页源代码。如果数据在当前的网页源代码当中,我们直接发起请求。从中获取相应的信息。采用之前介绍的xpath、bs4、正则表达式等模块来提取数据。
如果数据不在当前的网页源代码当中,我们需要通过抓包工具network来分析数据。先选择某个关键词,通过search来查询我们需要的数据。如果找到在json文件中,就可以用之前学的json.load()将其转换为python类型的数据。同样采用之前介绍的xpath、bs4、正则表达式等模块来提取数据。
四、保存数据
得到想要的数据之后,咱们就需要保存数据。常用的方法有html、txt、csv、xlsx等方法。当然,其中也少不了pandas模块的使用,这些咱们后面再说。
以保存为txt文件为例:
with
当然,更高级的方法还有数据库。如mysql、mongoDB、redis,之后咱们再继续介绍这些数据库。