前言
大家早好、午好、晚好吖 ❤ ~
开发环境:
解释器版本: python 3.8
代码编辑器: pycharm 2021.2
requests: pip install requests
pandas: pip install pandas
pyecharts: pip install pyecharts
1. 什么是pachong?
采集互联网(网页/app)数据的一项技术 (图片/音频/视频/文本) + 抢购操作 / 人为能够做的一些操作(脚本)
原理:
模拟成 客户端(网页/app) 向 服务器 发送网络请求
不要让对方(服务器)难受 百度(各大搜索引擎 都是爬虫)
2. 有哪些步骤 该如何实现?
一. 思路分析
-
需要采集什么数据?
股票信息
-
数据在哪里?
通过 f12 打开 network(网络面板) 记录网页当中的数据资源的 抓包分析
二. 代码实现
发送请求 通过代码的方式访问网站
获取数据
解析数据 提取数据 把想要的留下来
保存数据
代码展示
导入模块
import requests # 发送请求
import csv
with open('财经.csv', mode='a', newline='', encoding='utf-8') as f:
csv_writer = csv.writer(f)
csv_writer.writerow(
['CODE', 'SNAME', 'PRICE', 'PERCENT', 'UPDOWN', 'FIVE_MINUTE', 'OPEN', 'YESTCLOSE', 'HIGH', 'LOW', 'VOLUME', 'TURNOVER', 'HS', 'LB', 'WB', 'ZF',
'PE', 'MCAP', 'TCAP', 'MFSUM', 'MFRATIO2', 'MFRATIO10'])
for page in range(0, 213):
# url 数据来源 数据包 网页链接
url = f'http:// .money.163.com/hs/service/diyrank.php?host=http%3A%2F%2Fquotes.money.163.com%2Fhs%2Fservice%2Fdiyrank.php&page={page}&query=STYPE%3AEQA&fields=NO%2CSYMBOL%2CNAME%2CPRICE%2CPERCENT%2CUPDOWN%2CFIVE_MINUTE%2COPEN%2CYESTCLOSE%2CHIGH%2CLOW%2CVOLUME%2CTURNOVER%2CHS%2CLB%2CWB%2CZF%2CPE%2CMCAP%2CTCAP%2CMFSUM%2CMFRATIO.MFRATIO2%2CMFRATIO.MFRATIO10%2CSNAME%2CCODE%2CANNOUNMT%2CUVSNEWS&sort=PERCENT&order=desc&count=24&type=query'
代码里网址就给大家屏蔽了,不然发不出来
完整代码有需要的可以文章下方名片获取哦~
(或者评论已点赞收藏,求代码,我私你呀)
-
发送请求
.get / .post
爬虫99%请求方式都是这两种
response = requests.get(url=url)
-
获取数据
.text:
获取文本内容.content:
获取二进制数据 (图片/音频/视频).json():
{}所包裹的数据 .json()取值 解析数据就会更方便 更简单 字典
json_data = response.json()
- 解析数据
list = json_data['list']
for i in range(0, len(list)):
CODE = list[i]['CODE']
SNAME = list[i]['SNAME']
PRICE = list[i]['PRICE']
PERCENT = list[i]['PERCENT']
UPDOWN = list[i]['UPDOWN']
FIVE_MINUTE = list[i]['FIVE_MINUTE']
OPEN = list[i]['OPEN']
YESTCLOSE = list[i]['YESTCLOSE']
HIGH = list[i]['HIGH']
LOW = list[i]['LOW']
VOLUME = list[i]['VOLUME']
TURNOVER = list[i]['TURNOVER']
HS = list[i]['HS']
try:
LB = list[i]['LB']
except:
LB = ''
WB = list[i]['WB']
ZF = list[i]['ZF']
try:
PE = list[i]['PE']
except:
PE = ''
MCAP = list[i]['MCAP']
TCAP = list[i]['TCAP']
MFSUM = list[i]['MFSUM']
MFRATIO2 = list[i]['MFRATIO']['MFRATIO2']
MFRATIO10 = list[i]['MFRATIO']['MFRATIO10']
print(CODE, SNAME, PRICE, PERCENT, UPDOWN, FIVE_MINUTE, OPEN, YESTCLOSE, HIGH, LOW, VOLUME, TURNOVER, HS, LB, WB, ZF, PE, MCAP, TCAP, MFSUM, MFRATIO2, MFRATIO10)
- 保存数据
with open('财经.csv', mode='a', newline='', encoding='utf-8') as f:
csv_writer = csv.writer(f)
csv_writer.writerow([CODE, SNAME, PRICE, PERCENT, UPDOWN, FIVE_MINUTE, OPEN, YESTCLOSE, HIGH, LOW, VOLUME, TURNOVER, HS, LB, WB, ZF, PE, MCAP, TCAP, MFSUM, MFRATIO2, MFRATIO10])
尾语
要成功,先发疯,下定决心往前冲!
学习是需要长期坚持的,一步一个脚印地走向未来!
未来的你一定会感谢今天学习的你。
—— 心灵鸡汤
本文章到这里就结束啦~感兴趣的小伙伴可以复制代码去试试哦