Python教程

Python 爬虫笔记(4)

本文主要是介绍Python 爬虫笔记(4),对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

前面的爬虫笔记学习的都是静态网址的爬取,指的就是一个网页发生变化他的网址就会发生变化。它的网址里面包含了参数。

而动态网页的数据改变时,它的网址是不会发生改变的 ,如:

这时我们就需要去抓去隐藏在里面的数据包,这时的网址应该选择数据包内部的网址。

 双几点开数据包;查看header里面的url

 找到正确的网址之后就是一样的方式添加header伪装浏览器,对服务器进行访问

 其中我们需要注意的是

1、返回的response对象获取文本文件后并不是我们需要的数据其中有一些“脏数据” 其后括号后面才是真正的表格里面的数据,注意需要清理掉前面的东西(用正则表达式)。

2、爬取一个页面的代码无误,但爬取所有页面的代码还在改进中

# -*- coding: utf-8 -*-
"""
Created on Sun Oct 24 13:30:59 2021

@author: x'x'x'z
"""
import pandas as pd
import re
import json
import requests 
#得到一个指定网页的内容
url="http://3.push2.eastmoney.com/api/qt/clist/get?cb=jQuery112404589697507662702_1635034676639&pn=1&pz=20&po=1&np=1&ut=bd1d9ddb04089700cf9c27f6f7426281&fltt=2&invt=2&fid=f3&fs=m:0+t:6,m:0+t:80,m:1+t:2,m:1+t:23&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&_=1635034676663"
#构造请求头模拟浏览器,向服务器发送请求(伪装浏览器)
headers={
    ##User-Agent一定要注意大小写和没有空格,#用户代理,表示告诉浏览器,我们是什么类型的机器(本质是告诉浏览器我们可以接受什么水平的文件内容)
    'User-Agent': "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/95.0.4638.54 Safari/537.36 Edg/95.0.1020.30",
    #像一个门一样,告诉服务器我们是从哪里访问而来,而不是直接跳进来的
    'Referer':"http://quote.eastmoney.com/"
    }
resp=requests.get(url)                   ##返回一个response对象(里面有整个网页的信息)
html=resp.text                      #获取文本文件
#print(resp.text)                        #测试
res=re.findall('\((.*?)\)',html)           #使用正则表达式找到我们需要的东西(第一个“\”表示我们需要遇到第一个“(”)后面的内容
#print(res)                            #测试
datas=json.loads(res[0])['data']['diff']         #使用两个函数,返回一个字典
#print(datas)                        #测试,打印字典data
df=pd.DataFrame(datas)               #构造数据框 
#一行一行删掉我们不需要的列
del df['f1']  
del df['f10'] 
del df['f11'] 
del df['f13'] 
del df['f20']
del df['f21']
del df['f22']
del df['f24']
del df['f25'] 
del df['f62'] 
del df['f115']  
del df['f128'] 
del df['f140'] 
del df['f136'] 
del df['f141'] 
del df['f152'] 
df.columns=["最新价","涨跌幅","涨跌额","成交量","成交额","振幅","换手率","市盈率","代码","名称","最高","最低","今开","昨收","市净率"]             #更改列索引
print(df)
path=r'D:\study\python\沪深A股.xlsx'  #文件保存路径
df.to_excel(path,index=False)   
path = r"D:\study\python"

 

 

 

 

这篇关于Python 爬虫笔记(4)的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!