目录
前言
随着数据化时代的到来,数据的重要性不言而喻,这时候爬虫的重要性也就显现出来了,爬虫的作用正是快速的获取大量的数据,无论是普通网站的基本数据,还是商业网站的一些商业数据,随着爬虫技术的进步,可见即可爬也不是什么很难的事了(对于大佬而言)。
一、爬虫是什么?
爬虫,又名“网络爬虫”,就是能够自动访问互联网并将网站内容下载下来的程序。它也是搜索引擎的基础,像百度和GOOGLE都是凭借强大的网络爬虫,来检索海量的互联网信息的然后存储到云端,为网友提供优质的搜索服务的。
二、分析爬虫步骤
1.获取数据接口
1.思维图
2. 网页端抓包
对于网页端而言,获取数据接口相对来说是比较简单的,常用的浏览器,如Chrome,Edge,Firefox浏览器都有抓包功能,可以直接按F12开启开发者模式
接下来就可以在网络标签页下进行数据的抓包了,通过刷新界面可以看到数据接口。
3.自动化工具的使用
一些常见的驱动都是可以用的,使用的比较多的是Selenium,Pyppeteer,Playwright。Selenium还是比较好用的啊,另外两个还没用过,不过崔庆才大佬的网络爬虫开发实战2书上说还是很好用的,值得用用。Selenium主要是下载驱动Chromedriver.exe,网上教程比较多,这里就不谈了。但要主页和浏览器的版本要一致(好像是前面几个要一致,最后面的小版本有点不同是可以用的)。
4.app端抓包
这个就比较难搞一点,不过还是有一些好用的软件,如Fiddler(免费),Charles(收费,不过网上有破解版),mitmdump(命令行运行)。
这些都是一些比较基本的抓包软件,大部分的http,https请求都能抓,但其他的就比较难搞了,这里由于主要是讲爬取步骤,难点的就不说了(因为我也不会)。
5.手机端自动化工具的使用
主要是用appium,Airest,Auto.js。笔者用的是appium,还挺好用的。
2.进行数据解析
1.思维图
2.html文本解析
主要是用Xpath,re正则,笔者觉得这两个比较方便一点, 只要前面步骤拿到了数据,那么数据解析就比较死板了,方法比较固定,掌握这两个解析方法大部分都可以提取出你想要的数据。
3.json数据解析
import requests
url='https://pc-index-static.cdn.bcebos.com/search/dyTabStr.json'
#请求头
headers={
'User-Agent':"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/113.0.0.0 Safari/537.36 Edg/113.0.1774.57"
}
res=requests.get(url=url,headers=headers)
print(res.json())
直接用json()方法将json数据转化为python的字典,接下来就是字典的取值了。
3.数据存储
1.思维图
2.本地保存
主要是保存为txt,json,csv,excel文件。
直接使用python的内置方法保存为txt,json文件。
data='hello world'
with open('data.txt','w',encoding="utf-8")as f:
f.write(data)
data1={'name':'张三','age':'20'}
with open('data.json','w',encoding='utf-8')as f:
f.write(data1)
保存为csv文件可借助csv模块以及pandas库,还有个异步保存的aiocsv模块。
3.数据库保存
常见的就是Mysql,mongodb,redis。具体的使用这里就不详述了。
总结
本文只是介绍了python爬虫的基本步骤和使用所需的工具,第一次写博客,写得比较差,望谅解,欢迎大佬在评论区指出我的错误,看到了会及时的改正。