我们通过查看知道flash类型的网页采取文件格式是amf类型的

AMF(Action Message Format) 是Flash与服务端通信的一种常见的二进制编码模式,其传输效率高,可以在HTTP层面上传输。

python 要和AMF 交互需要一个pyamf 模块

1, 下载pyamf

pyamf点击下载

2, 安装的时候发现这个版本不适合我的版本, 经过搜索, 发现了一个解决办法

安装Py3AMF, 安装方法特别简单

pip install Py3AMF1

需要用到charles抓包工具,抓取AMF包,得到请求/应答的AMF数据,对AMF格式的请求和响应的数据进行分析。

reponse

下面上代码

import requests

import uuid

import pyamf

from pyamf import remoting

from pyamf.flex import messaging

class HqPara:

def __init__(self):

self.source = None

# 注册自定义的Body参数类型,这样数据类型com.itown.kas.pfsc.report.po.HqPara就会在后面被一并发给服务端(否则服务端就可能返回参数不是预期的异常Client.Message.Deserialize.InvalidType)

pyamf.register_class(HqPara,alias='com.itown.kas.pfsc.report.po.HqPara')

msg = messaging.RemotingMessage(messageId=str(uuid.uuid1()).upper(),

clientId=str(uuid.uuid1()).upper(),

operation='getHqSearchData',

destination='reportStatService',

timeToLive=0,

timestamp=0)

# 构造请求数据

def getRequestData(page_num,total_num):

# 请求体第一个参数是查询参数, 第二个是页数,第三个是控制每页显示的数量

msg.body = [HqPara(),str(page_num),str(total_num)]

msg.headers['DSEndpoint'] = None

msg.headers['DSId'] = str(uuid.uuid1()).upper()

req = remoting.Request('null', body=(msg,))

env = remoting.Envelope(amfVersion=pyamf.AMF3)

env.bodies = [('/1',req)]

data = bytes(remoting.encode(env).read())

# 返回一个请求的数据格式

return data

def getResponse(data):

# 这个url一定是amf结尾的哦

# url = 'http://jgsb.agri.cn/controller?SERVICE_ID=REGISTRY_JCSJ_MRHQ_SHOW_SERVICE&recordperpage=15&newsearch=true&login_result_sign=nologin'

url = 'http://xxxxxxx/amf'

response = requests.post(url, data, headers={'Content-Type': 'application/x-amf'})

return response.content

def getContent(response):

parse_info = remoting.decode(response)

# total_num = parse_info.bodies[0][1].body.body[3]

info = parse_info.bodies[0][1].body.body[0]

return info

reqdata = getRequestData(1,15)

req = getResponse(reqdata)

info =getContent(req)

# 这是一共有多少调数据

print(len(info))

# 做解析,拿出你想要的数据

for i in info:

print(i)1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

45

46

47

48

49

50

51

52

53

54

55

56

57

python爬取flash数据_python爬虫: 爬取flash播放页面的信息相关推荐

  1. python爬虫爬取股票软件数据_Python爬虫抓取东方财富网股票数据并实现MySQL数据库存储(转载)...

    完整代码 实际上,整个事情完成了两个相对独立的过程:1.爬虫获取网页股票数据并保存到本地文件:2.将本地文件数据储存到MySQL数据库.并没有直接的考虑把从网页上抓取到的数据实时(或者通过一个临时文件 ...

  2. python抓取数据库数据_Python爬虫抓取东方财富网股票数据并实现MySQL数据库存储...

    Python爬虫可以说是好玩又好用了.现想利用Python爬取网页股票数据保存到本地csv数据文件中,同时想把股票数据保存到MySQL数据库中.需求有了,剩下的就是实现了. 在开始之前,保证已经安装好 ...

  3. python爬表格数据_python爬虫,爬取表格数据

    python爬虫,爬取表格数据 python爬虫,爬取表格数据 python爬虫,爬取全国空气质量指数 编程环境:Jupyter Notebook 所要爬取的网页数据内容如下图 python爬虫代码及 ...

  4. python解析网页数据_python爬虫——爬取网页数据和解析数据

    1.网络爬虫的基本概念 网络爬虫(又称网络蜘蛛,机器人),就是模拟客户端发送网络请求,接收请求响应,一种按照一定的规则,自动地抓取互联网信息的程序. 只要浏览器能够做的事情,原则上,爬虫都能够做到. ...

  5. python爬取bilibili弹幕_Python爬虫爬取Bilibili弹幕过程解析

    先来思考一个问题,B站一个视频的弹幕最多会有多少? 比较多的会有2000条吧,这么多数据,B站肯定是不会直接把弹幕和这个视频绑在一起的. 也就是说,有一个视频地址为https://www.bilibi ...

  6. python爬取学校新闻_python爬虫爬取新闻的简单实现

    我们通常是使用爬虫爬取网站信息,其实网络爬虫是一种应用于搜索引擎的程序.使用python爬虫可以将一个网站的所有内容与链接进行阅读.例如我们每日都要获取新闻信息,利用python爬虫就可以帮助我们爬取 ...

  7. python爬图代码实例_Python爬虫爬取煎蛋网图片代码实例

    这篇文章主要介绍了Python爬虫爬取煎蛋网图片代码实例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 今天,试着爬取了煎蛋网的图片. 用到的包: ...

  8. python爬取微博文本_Python爬虫爬取新浪微博内容示例【基于代理IP】

    本文实例讲述了Python爬虫爬取新浪微博内容.分享给大家供大家参考,具体如下: 用Python编写爬虫,爬取微博大V的微博内容,本文以女神的微博为例(爬新浪m站:https://m.weibo.cn ...

  9. python爬虫抓取百度图片_Python爬虫抓取百度的高清摄影图片

    成果预览: 源代码: import requests import re url = 'https://image.baidu.com/search/index' headers = { 'User- ...

最新文章

  1. mysql 分库分表 建表_【分库分表】sharding-jdbc实践—分库分表入门
  2. 研究:即便是最好的人脸识别算法也会受到口罩干扰
  3. TOJ 3750: 二分查找
  4. Ubuntu18.04 MariaDB
  5. UISegmentedControl swift
  6. .net mvc 报表_FastReport.Net已实现对.Net 5.0的支持
  7. 【51nod - 1050】循环数组最大子段和(dp)
  8. 《Docker技术从入门到实践》第1,2章
  9. python的property用法_Python的@property使用方法详解
  10. Java集合框架源码解读(5)——TreeMap
  11. 华展云-让展览更高效 2017第6届中国国防信息化装备与技术博览会会刊(参展商名录)
  12. Android-TextView添加字体库
  13. APISpace 银行卡二要素API
  14. 工厂食堂3D指纹考勤系统解决方案
  15. kubuntu我显示服务器,还是不行!kubuntu到底怎么配置IP才能上网啊?[已经解决!]...
  16. PHP trait 特性
  17. 制造业如何做好数字化转型
  18. bootstrap4--概述与页面创建
  19. STM32-SPI资料整理
  20. 第五章.系统安全分析与设计

热门文章

  1. 什么是事件驱动架构(EDA)? 一个会写诗的程序员
  2. SEO优化(搜索引擎优化)
  3. JS根据身份证号计算年龄
  4. 艾永亮:耐克阿迪都慌了,成功逆袭的李宁,产品创新战略是什么
  5. java js highcharts_highcharts java饼图
  6. 中国历史朝代及皇帝简介
  7. 掰碎了的正则表达式 : Java 篇
  8. 友盟启动耗时分析之耗时趋势及性能拆解
  9. unity初学6——简易的UI制作(血条制作)和音频加入以及NPC的对话气泡(2d)
  10. 机器学习-无监督学习-聚类:聚类方法(一)--- k-Means(k-均值)算法,k-Means++算法【使用最大期望值算法(EM算法)来求解】