本文已参与「新人创作礼」活动,一起开启掘金创作之路
0.把第一次爬虫献给稀土掘金社区 [doge]
1.使用requests 工具包,传入要爬取的网页,发送get请求
2.获取到的requests对象有.text方法得到文本
3.输出显示后,关闭requests的get请求
import requests
#网页
url = 'https://juejin.cn/'
#get请求
resp = requests.get(url)
print(resp.text)
resp.close()
1.百度翻译进行查询请求
1.使用requests 工具包,传入要爬取的网页,发送post请求,需要传入参数data
2.获取到的requests对象有.text方法得到文本,使用json解析结果
3.输出显示后,关闭requests的get请求
import requests
#网页
url = 'https://fanyi.baidu.com/sug'
#参数
s = input("输入单词")
dat ={
"kw":s
}
#post请求
resp = requests.post(url,data=dat)
#json解析结果
print(resp.json())
resp.close()
2.东方财富网获取 沪深300的成分
沪深300成分股质量较高,具有代表意义,东方财富网沪深300数据所在网址如下: quote.eastmoney.com/center/boar…
我们发现结构比较规整,正是我们需要的。
1.进入开发者模式F12,-->Network--->Preview,筛选js类型的get内容,找到目标数据.
2.Request URL 就是浏览器发送的GET请求了, 实际上就算url + 若干参数
3.获取网页接口,获取params参数.获取headers参数,伪装成浏览器发送请求
伪装的关键有重要的两条: User-Agent :告诉对方我是浏览器,我的系统信息版本信息等 Query String Paraments 中所有参数: 告诉对方我们要什么数据,有哪些需要,观察多了以后,就可发现数据的规律,甚至一些参数的含义
('cb': 'jQuery11240862164418291141_1663334161272', 这个参数不传,更好解析┗|`O′|┛ 嗷~~)
4.获取到目标数据后,进行解析,截取目标数据保存
import requests
import json
# 地址、头部信息、参数三大件获取
url ='http://46.push2.eastmoney.com/api/qt/clist/get'
headers ={
'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/95.0.4638.69 Safari/537.36'
}
param ={
'cb': 'jQuery11240862164418291141_1663334161272',
'pn': '1',
'pz': '20',
'po': '0',
'np': '1',
'ut': 'bd1d9ddb04089700cf9c27f6f7426281',
'fltt': '2',
'invt': '2',
'wbp2u': '|0|0|0|web',
'fid': 'f3',
'fs': 'b:BK0500 f:!50',
'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,f45',
}
#页面数据拿回来
resp = requests.get(url = url,params = param ,headers = headers)
res =resp.text
res = res.split('(')
resjson = res[1].split(')')
print(resjson[0])
rrr =json.loads(resjson[0])
# print(type(rrr))
# print(rrr)
# print("####"*4)
print(rrr['data']['diff'])
t1= rrr['data']['diff']
df = pd.DataFrame(t1)
print(df)