1 背景知识介绍
1、什么叫自动化采集脚本:自动去采集网站上我们需要的数据。
2、批量采集数据:谷歌浏览器—百度—东方财富网。
①安装(pip install)和导入模块(import);
②本次操作需要的模块requests、pandas、re;re不用安装,是python自带的。
③模块说明:requests—用来请求网站的数据;pandas—用来操作表格;re—用来筛选数据的。
3、爬虫:请求某一个网站的数据。
①确定目标:请求哪一个网址;
②以什么样的身份去请求?
③请求
2 怎么找网址:以东方财富网为例
2.1、在谷歌浏览器中搜索百度,进入百度页面
2.2 在百度中搜索东方财富网。
2.3 因为不可能爬首页,要的是数据,所以本文以沪深京为例
2.4 可以看出:有5000多家上市公司的股票数据都在这里。
2.5 注意:网址
https://quote.eastmoney.com/center/gridlist.html#hs_a_board并不是纯数据的网址,还会有数据之外的文字(如行情中心等)。
2.6 如何获取纯数据的网址
按下F12或Fn+F12(哪个会出来就按哪个),打开开发者工具(有些可能是中文,我的电脑显示为英文),选择顶上的network,刷新网页。可见,这里面有73条数据。
2.7 确定73条数据那一条是需要的股票数据
利用搜索功能。比如博士眼镜的股票信息,就搜索其关键字,如300662、博士眼镜,搜索这些关键字就可以确定哪一个是需要的。
2.8 得到股票数据的网址
https://23.push2.eastmoney.com/api/qt/clist/get?cb=jQuery1124020177006179756685_1723650631843&pn=1&pz=20&po=1&np=1&ut=bd1d9ddb04089700cf9c27f6f7426281&fltt=2&invt=2&dect=1&wbp2u=|0|0|0|web&fid=f3&fs=m:0+t:6,m:0+t:80,m:1+t:2,m:1+t:23,m:0+t:81+s:2048&fields=f1,f2,f3,f4,f5,f6,f7,f8,f9,f10,f12,f13,f14,f15,f16,f17,f18,f20,f21,f23,f24,f25,f22,f11,f62,f128,f136,f115,f152&_=1723650631844
代码:
#step1:确定目标网址
url='https://23.push2.eastmoney.com/api/qt/clist/get?cb=jQuery1124020177006179756685_1723650631843&pn=1&pz=20&po=1&np=1&ut=bd1d9ddb04089700cf9c27f6f7426281&fltt=2&invt=2&dect=1&wbp2u=|0|0|0|web&fid=f3&fs=m:0+t:6,m:0+t:80,m:1+t:2,m:1+t:23,m:0+t:81+s:2048&fields=f1,f2,f3,f4,f5,f6,f7,f8,f9,f10,f12,f13,f14,f15,f16,f17,f18,f20,f21,f23,f24,f25,f22,f11,f62,f128,f136,f115,f152&_=1723650631844' #引号里面是网址
3 以什么样的身份去请求?伪装成一个浏览器
3.1 获取浏览器标识
#step2:获取浏览器标识
wz={
'user-agent':'浏览器标识'}
3.2 怎么找浏览器标识,在上一步找网址的最下面
3.3 获取浏览器标识最终代码。
#step2:获取浏览器标识
wz={
'user-agent':'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/127.0.0.0 Safari/537.36'}