Python获取网页数据详解流程

Requests 库是 Python 中发起 HTTP 请求的库,使用非常方便简单。
发送 GET 请求
当我们用浏览器打开东旭蓝天股票首页时,发送的最原始的请求就是 GET 请求,并传入url参数.

import requests
url='http://push2his.eastmoney.com/api/qt/stock/fflow/daykline/get'

用Python requests库的get函数得到数据并设置requests的请求头.

header={
    'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/86.0.4240.198 Safari/537.36'
}

得到network的参数.

data={
    'cb': 'jQuery1123026726575651052076_1633873068863',
    'lmt': '0',
    'klt':' 101',
    'fields1': 'f1,f2,f3,f7',
    'fields2': 'f51,f52,f53,f54,f55,f56,f57,f58,f59,f60,f61,f62,f63,f64,f65',
    'ut': 'b2884a393a59ad64002292a3e90d46a5',
    'secid': '0.000040',
    '_': '1633873068864'
}

我们使用 content 属性来获取网站返回的数据,并命名为sd.

sd=requests.get(url=url,headers=header,data=data).content

json库可以自字符串或文件中解析JSON。 该库解析JSON后将其转为Python字典或者列表。re模块是python独有的匹配字符串的模块,该模块中提供的很多功能是基于正则表达式实现的,而正则表达式是对字符串进行模糊匹配,提取自己需要的字符串部分.

import json
import re
text=str(sd,'utf-8')
res=re.findall(r'[(](.*?)[)]',text)
re=json.loads(res[0])
p=re['data']['klines']

将杂乱无章的数据排版到excel中,代码如下:

all_list=re['data']['klines']
data_list=[]
latest_price_list=[]
price_limit_list=[]
net_amount_list1=[]
net_proportion_list1=[]
net_amount_list2=[]
net_proportion_list2=[]
net_amount_list3=[]
net_proportion_list3=[]
net_amount_list4=[]
net_proportion_list4=[]
net_amount_list5=[]
net_proportion_list5=[]
for i in range(len(all_list)):
        data=all_list[i].split(',')[0]
        data_list.append(data)
        ##收盘价
        latest_price=all_list[i].split(',')[11]
        latest_price_list.append(latest_price)
        ##涨跌幅
        price_limit=all_list[i].split(',')[12]
        price_limit_list.append(price_limit)
        ##主力净流入
        ####净额
        net_amount1=all_list[i].split(',')[1]
        net_amount_list1.append(net_amount1)
        ##占比
        net_proportion1=all_list[i].split(',')[6]
        net_proportion_list1.append(net_proportion1)
        ##超大单净流入
        ####净额
        net_amount2=all_list[i].split(',')[5]
        net_amount_list2.append(net_amount2)
        ##占比
        net_proportion2=all_list[i].split(',')[10]
        net_proportion_list2.append(net_proportion2)
        ##大单净流入
        ####净额
        net_amount3=all_list[i].split(',')[4]
        net_amount_list3.append(net_amount3)
        ##占比
        net_proportion3=all_list[i].split(',')[9]
        net_proportion_list3.append(net_proportion3)
        ##中单净流入
        ####净额
        net_amount4=all_list[i].split(',')[3]
        net_amount_list4.append(net_amount4)
        ##占比
        net_proportion4=all_list[i].split(',')[8]
        net_proportion_list4.append(net_proportion4)
        ##小单净流入
        ####净额
        net_amount5=all_list[i].split(',')[2]
        net_amount_list5.append(net_amount5)
        ##占比
        net_proportion5=all_list[i].split(',')[7]
        net_proportion_list5.append(net_proportion5)
#print(data_list)
import pandas as pd
df=pd.DataFrame()
df['日期'] = data_list
df['收盘价'] = latest_price_list
df['涨跌幅(%)'] = price_limit_list
df['主力净流入-净额'] = net_amount_list1
df['主力净流入-净占比(%)'] = net_proportion_list1
df['超大单净流入-净额'] = net_amount_list2
df['超大单净流入-净占比(%)'] = net_proportion_list2
df['大单净流入-净额'] = net_amount_list3
df['大单净流入-净占比(%)'] = net_proportion_list3
df['中单净流入-净额'] = net_amount_list4
df['中单净流入-净占比(%)'] = net_proportion_list4
df['小单净流入-净额'] = net_amount_list5
df['小单净流入-净占比(%)'] = net_proportion_list5
df# 写入excel
df.to_excel('东旭蓝天资金流向一览表.xlsx')

将爬取出的东旭蓝天资金流向数据存到excel表中,得到表格的部分截图如下:

到此这篇关于Python获取网页数据详解流程的文章就介绍到这了,更多相关Python 获取网页数据内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

(0)

相关推荐

  • python对网页文本的格式化实例方法

    1.一个网页通常包含文本信息.对于不同的文本类型,我们可以选择合适的HTML语义元素进行标记. 2.em元素用于标记和强调部分内容,small元素用于注释和署名文本. 实例 <body> <h1>论语学而篇第一</h1> <p><small> <b>作者:</b><abbr title="名丘,字仲尼">孔子<sup><a href="#" rel=&q

  • python爬取网页版QQ空间,生成各类图表

    github源码地址: https://github.com/kuishou68/python 各类图表的实现效果 爬取的说说内容 个性化说说内容词云图 每年发表说说总数柱状图.每年点赞和评论折线图 7天好友动态柱状图.饼图 使用方法 按照你的谷歌浏览器下载指定版本的驱动 http://chromedriver.storage.googleapis.com/index.html 驱动跟两个python脚本放入同目录,我的版本是90.0.4430的,查看你自己的版本,下载后把我的chromedri

  • Python如何利用正则表达式爬取网页信息及图片

    一.正则表达式是什么? 概念: 正则表达式是对字符串操作的一种逻辑公式,就是用事先定义好的一些特定字符.及这些特定字符的组合,组成一个"规则字符串",这个"规则字符串"用来表达对字符串的一种过滤逻辑. 正则表达式是一个特殊的字符序列,它能帮助你方便的检查一个字符串是否与某种模式匹配. 个人理解: 简单来说就是使用正则表达式来写一个过滤器来过滤了掉杂乱的无用的信息(eg:网页源代码-)从中来获取自己想要的内容 二.实战项目 1.爬取内容 获取上海所有三甲医院的名称并保

  • python数据可视化 – 利用Bokeh和Bottle.py在网页上展示你的数据

    目录 1. 文章重点和项目介绍 2. 数据集研究和图表准备 2.1 导入数据集 2.2 绘制图表 图表1:2019年上海,北京,深圳三地的每天AQI变化曲线 图表2:2019年上海,北京,深圳三地的每月平均AQI对比 图表3:2017年到2019年北京每月平均AQI对比 3. Bottle网页应用 3.1 文件夹结构 3.2 路由 3.3 模板实现 3.4 启动网页服务 4. 将Bokeh和Bottle集成在一起 4.1 模板修改 4.2 Python代码集成 5. 部署应用到Heroku 6.

  • python爬虫基础之简易网页搜集器

    简易网页搜集器 前面我们已经学会了简单爬取浏览器页面的爬虫.但事实上我们的需求当然不是爬取搜狗首页或是B站首页这么简单,再不济,我们都希望可以爬取某个特定的有信息的页面. 不知道在学会了爬取之后,你有没有跟我一样试着去爬取一些搜索页面,比如说百度.像这样的页面 注意我红笔划的部分,这是我打开的网页.现在我希望能爬取这一页的数据,按我们前面学的代码,应该是这样写的: import requests if __name__ == "__main__": # 指定URL url = &quo

  • Python获取网页数据详解流程

    Requests 库是 Python 中发起 HTTP 请求的库,使用非常方便简单. 发送 GET 请求 当我们用浏览器打开东旭蓝天股票首页时,发送的最原始的请求就是 GET 请求,并传入url参数. import requests url='http://push2his.eastmoney.com/api/qt/stock/fflow/daykline/get' 用Python requests库的get函数得到数据并设置requests的请求头. header={ 'User-Agent'

  • Python 爬取网页图片详解流程

    简介 快乐在满足中求,烦恼多从欲中来 记录程序的点点滴滴. 输入一个网址从这个网址中解析出图片,并将它保存在本地 流程图 程序分析 解析主网址 def get_urls(): url = 'http://www.nipic.com/show/35350678.html' # 主网址 pattern = "(http.*?jpg)" header = { 'user-agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKi

  • node.js根据不同请求路径返回不同数据详解流程

    目录 1.学习根据不同的请求路径返回:不同数据 2.发送的数据:数据类型,和什么编码:Content-Type 3.关于读入文件的:相对路径和绝对路径: 4.读图片 1.学习根据不同的请求路径返回:不同数据 var url=req.url //获取req.url值(req:是request简写) req.url: 获取的是端口号之后的路径 实现不同路径返回不同数据 我的端口号:3000,网址:http://127.0.0.1:3000 if(url==='/'){ res.end('index

  • Java多线程提交按照时间顺序获取线程结果详解流程

    Maven依赖 其实要不要无所谓.主要是为了方便. <dependency> <groupId>cn.hutool</groupId> <artifactId>hutool-all</artifactId> <version>5.7.15</version> </dependency> 代码 不废话,上代码. package com.hy.csdn.tools; import cn.hutool.core.th

  • Java Spring MVC获取请求数据详解操作

    目录 1. 获得请求参数 2. 获得基本类型参数 3. 获得POJO类型参数 4. 获得数组类型参数 5. 获得集合类型参数 6. 请求数据乱码问题 7. 参数绑定注解 @requestParam 8. 获得Restful风格的参数 9. 自定义类型转换器 1.定义转换器类实现Converter接口 2.在配置文件中声明转换器 3.在<annotation-driven>中引用转换器 10. 获得Servlet相关API 11. 获得请求头 11.1 @RequestHeader 11.2 @

  • 利用python如何处理nc数据详解

    前言 这两天帮一个朋友处理了些 nc 数据,本以为很简单的事情,没想到里面涉及到了很多的细节和坑,无论是"知难行易"还是"知易行难"都不能充分的说明问题,还是"知行合一"来的更靠谱些,既要知道理论又要知道如何实现,于是经过不太充分的研究后总结成此文,以记录如何使用 python 处理 nc 数据. 一.nc 数据介绍 nc 全称 netCDF(The Network Common Data Form),可以用来存储一系列的数组,就是这么简单(参考

  • python异步存储数据详解

    在Python中,数据存储方式分为同步存储和异步存储.同步写入速度比较慢,而爬虫速度比较快,有可能导致数据保存不完整,一部分数据没有入库.而异步可以将爬虫和写入数据库操作分开执行,互不影响,所以写入速度比较快,能够保证数据的完整性. 异步存储数据库大致看分为以下步骤: 1. 在settings中配置Mysql链接需要的参数(主机地址.用户账号.密码.需要操作的表名.编码格式等) 2. 自定义Pipeline,实现from_settings函数 3. from twisted.enterprise

  • Python如何处理JSON数据详解

    目录 什么是JSON? JSON作用 为什么使用JSON JSON的使用 最后 什么是JSON? JSON是一种轻量级的数据交互格式,采用完全独立于编程语言的文本格式来存储和表示数据.和xml相比,它更小巧,但描述能力却不差,更适合于在网络上传输数据. JSON是一种有着特殊格式的字符串,格式与对象或者数组是非常类似的,只不过属性名是带双引号的. JSON用于对象和数组的序列化.(序列化:格式转换)用于对象和数组与字符串进行相互转换. JSON作用 与 XML一样,它是格式化数据的一种方式.We

  • Python 列表筛选数据详解

    目录 总结 在做数据处理中,常会遇到列表筛选,比如有以下两个列表: 根据上列表中的KEY1 , 筛选下列表的数据,也就是标黄的数据.数量不大的情况,一般就是遍历比较,逻辑简单,几行代码搞掂. 但如果列表达到万,或者百万.千万,那遍历效率就低了. 先构造测试的列表. # 构造筛选目标列表,确保KEY不重复 n1 = 30000 n1_set = set([random.randint(1,n1) for n in range(n1)]) n1 = len(n1_set) list1 = [['11

  • python FastApi实现数据表迁移流程详解

    目录 啥是数据迁移 1.需要新的数据表 2.需要对现有表结构进行调整 回到ORM 迁移手段 安装alembic 初始化项目 修改alembic.ini 修改alembic/env.py 开始生成迁移工作 变更数据库 FAQ 啥是数据迁移 在我们平时的开发过程中,经常需要对一些数据进行调整.一般会有以下几种场景: 1.需要新的数据表 我们的接口自动化平台虽然已经较为完善了,但难免会继续迭代一些新的功能,假设我们需要做一个订阅用例的功能. 大体想一下就可以知道,订阅用例以后这个数据得持久化(即入库)

随机推荐