11.采集手机端app企查查上司公司数据

---恢复内容开始---

采集企查查手机端app数据:

1.首先手机端安装app并usb连接电脑端,fiddler监控手机请求数据对数据进行分析抓取。

手机端界面与fiddler界面参照:


2.对获取到url进行分析

试采集当前页面信息:

3.分析动态加载需要请求的参数及进一步深度urlhttps://appv3.qichacha.net/app/v1/other/IPOCompanySearch?searchKey=&sign=bbdb1ed793cb244e4bfb4b9b120984ce383940b0&sortField=date&isSortAsc=false&token=NmM2ZjA3M2Q5ZGU4NDAwM2JmNGQwYWFlMTM1YmVlYzg%3D&timestamp=1541741269760&from=h5&pageIndex=1&platform=otherhttps://appv3.qichacha.net/app/v1/other/IPOCompanySearch?searchKey=&sign=bbdb1ed793cb244e4bfb4b9b120984ce383940b0&sortField=date&isSortAsc=false&token=NmM2ZjA3M2Q5ZGU4NDAwM2JmNGQwYWFlMTM1YmVlYzg%3D&timestamp=1541741269760&from=h5&pageIndex=2&platform=otherhttps://appv3.qichacha.net/app/v1/other/IPOCompanySearch?searchKey=&sign=bbdb1ed793cb244e4bfb4b9b120984ce383940b0&sortField=date&isSortAsc=false&token=NmM2ZjA3M2Q5ZGU4NDAwM2JmNGQwYWFlMTM1YmVlYzg%3D&timestamp=1541741269760&from=h5&pageIndex=3&platform=other https://appv3.qichacha.net/app/v1/other/IPOCompanySearch?searchKey=&sign=bbdb1ed793cb244e4bfb4b9b120984ce383940b0&sortField=date&isSortAsc=false&token=NmM2ZjA3M2Q5ZGU4NDAwM2JmNGQwYWFlMTM1YmVlYzg%3D&timestamp=1541741269760&from=h5&pageIndex=4&platform=other https://appv3.qichacha.net/app/v1/other/IPOCompanySearch?searchKey=&sign=bbdb1ed793cb244e4bfb4b9b120984ce383940b0&sortField=date&isSortAsc=false&token=NmM2ZjA3M2Q5ZGU4NDAwM2JmNGQwYWFlMTM1YmVlYzg%3D&timestamp=1541741269760&from=h5&pageIndex=5&platform=other

可以明显看出滑动加载数据url是有规律的变化的:
pageIndex=1,2,3,4,5

手机端滑动加载,每次加载20条,pageIndex+1,其他参数保持不变。

但是这里只给访问了3572条数据就不再给数据返回了,而且不设置休眠还会被检测到异常请求。
import requests
import time,random

def main():
    headers = {
        # 将Fiddler右上方的内容填在headers中
        "Host": "appv3.qichacha.net",
        "Connection": "keep-alive",
        "Pragma": "no-cache",
        "Cache-Control": "no-cache",
        "Accept": "application/json,text/javascript,*/*;q=0.01",
        "Origin": "https://share.qichacha.com",
        "User-Agent":"Mozilla/5.0 (Linux; Android 7.1.2; MI 5X Build/N2G47H; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/64.0.3282.137 Mobile Safari/537.36",
        "Referer": "https://share.qichacha.com/pro/app_11.6.0/enterprise-library/search-ipo/index.html",
        "Accept-Encoding": "gzip, deflate",
        "Accept-Language": "zh-CN,en-US;q=0.9",
        "X-Requested-With": "com.android.icredit",
    }
    for i in range(1,251):
        url = "http://appv3.qichacha.net/app/v1/other/IPOCompanySearch?searchKey=&sign=c1db45756855fb049b8b8f43b699db2148f9c048&sortField=date&isSortAsc=false&token=NmM2ZjA3M2Q5ZGU4NDAwM2JmNGQwYWFlMTM1YmVlYzg%3D&timestamp=1541739365501&from=h5&pageIndex={}&platform=other".format(i)
        # 表显示在json格式下
        time.sleep(random.randint(1,2))
        res = requests.get(url=url, headers=headers).json()
        Results = (res[‘result‘])[‘Result‘]
        # print(Results

        #获取当前页面20条数据
        for result in Results:
            KeyNo = result[‘KeyNo‘]
            print(KeyNo)
            Desc = result[‘Desc‘]
            print(Desc)
            ShowDate =result[‘ShowDate‘]
            print(ShowDate)
            ID = result[‘ID‘]
            print(ID)
            CategoryName = result[‘CategoryName‘]
            print(CategoryName)
            StockType = result[‘StockType‘]
            print(StockType)
            StockMarket = result[‘StockMarket‘]
            print(StockMarket)
            ListingMarket = result[‘ListingMarket‘]
            print(ListingMarket)
            Title = result[‘Title‘]
            print(Title)
            Status =result[‘Status‘]
            print(Status)
            StockName = result[‘StockName‘]
            print(StockName)
            ImageUrl = result[‘ImageUrl‘]
            print(ImageUrl)
            StockNumber = result[‘StockNumber‘]
            print(StockNumber)
            CompanyName = result[‘CompanyName‘]
            print(CompanyName)
            ListingDate = result[‘ListingDate‘]
            print(ListingDate)
            print(‘*‘*100)
            # 以追加的方式及打开一个文件,文件指针放在文件结尾,追加读写!
            with open(‘text‘, ‘a‘, encoding=‘utf-8‘)as f:
                f.write(‘\n‘.join([KeyNo, Desc, ShowDate, CategoryName, StockType,StockMarket,ListingMarket,Title,Status,StockName,ImageUrl,StockNumber,CompanyName,ListingDate]))
                f.write(‘\n‘ + ‘=‘ * 50 + ‘\n‘)

if __name__ == "__main__":
    main()
采集情况:采集 53580/15=3572条数据,能拿到的数据只有这些。

上市公司数据 3572条,而且进入详情url,app是不给返回接口的,fiddler抓不到包,所以数据就没办法拿到,这个数据就抓取不到。

其他的数据就没有给返回结果的,只能放弃了采集另寻其他方法。

原文地址:https://www.cnblogs.com/lvjing/p/9934909.html

时间: 2024-11-05 21:56:15

11.采集手机端app企查查上司公司数据的相关文章

手机端APP/ 手机浏览器 Html5自动定位城市

第一步:简单了解 html5为window.navigator提供了geolocation属性,用于获取基于浏览器的当前用户地理位置. window.navigator.geolocation提供了3个方法分别是: void getCurrentPosition(onSuccess,onError,options);//获取用户当前位置 int watchCurrentPosition(onSuccess,onError,options);//持续获取当前用户位置 void clearWatch

【重播工具箱】MTK全方案手机端APP,一键备份自动生成线刷包 源码思路解析

这个是本人MTK工具箱,在 5月份的时候,发布的..功能可能说是全球首发把,第一个手机MTK的一键备份工具,而且是兼容MTK全方案.MTK6589 MTK6592 6575 82等, 现在将源码以及思路,分享给大家,有兴趣的可以看看. 源码解析以及思路,待发布....... 分享地址:http://www.592zn.com/thread-311286-1-1.html 下载地址http://pan.baidu.com/s/1hqeethy重大更新: 1.手机端首发,备份MTK系列全自动,生成线

通过chrome识别手机端app元素--Chrome:inspector/#device

现实中应该有这样一种情况,就是一个app只支持手机端使用,同时他又是hybrid的,那么其中的webview部分的元素属性如何去获得呢? 使用下面的方法可以解决这个问题: 调试 Android Chrome 方法:打开 Android 自带 USB 调试,并将手机连接电脑. 1.打开 Android端的Chrome,并打开你的页面或应用 2.打开PC/Mac 上的 Chrome,打开 chrome://inspect/#devices 3.正常情况会失败到连接上的手机 4.勾选 Discover

手机端app开发初识

1.所需软件说明 百度云下载链接: https://pan.baidu.com/s/1-TEQZP9QbJSlGSYedyAUFw密码: 2z8l 或者官方链接: Hbuilder:http://www.dcloud.io/ 夜神模拟器:https://www.yeshen.com/ 1.1 Hbuilder HTML开发工具,强大的代码助手帮你快速完成开发,当中对于大众来说最友好的可能是它所具有的的提示功能以及官方文档的代码块功能,它提供给了我们完善的组件,帮助我们快速开发相应的功能块 1.2

PC端写的API接口和手机端APP联合调试

一.遇到问题的情况:项目框架:asp.net MVC5 ,写的给手机端调用的API接口. 二.自己在本地 IIS上部署项目,在手机端的请求服务器上把地址和端口换上本地部署的,如图所示 三.用管理员的身份打开VS,打开项目.找到调试-->附加到进程 找到部署项目运行对应的进程,选择后添加添加. 然后你的程序也就 进入调试模式,从APP上调用接口,就可以进入到PC端的调试模式,看看传参对不对,PC端代码逻辑等bug调试. 原文地址:https://www.cnblogs.com/ElvisZhong

IBM Security AppScan Standard 用外部设备录制脚本(手机端应用、app、微信等)进行安全测试

一.打开AppScan,选择外部设备/客户机,点击下一步 二.记录代理设置,可以手动输入需要的端口号,也可以自动选择,记住端口号以及PC电脑的ip地址,手机端如何设置对应的端口跟ip可以参考 Jmeter(十三)用Jmeter自带录制工具代理录制手机端应用脚本APP脚本,原理是一样的 三.SSL证书,点击下一步 四.登陆管理,点击下一步, 选择"是" 五.选择测试策略,点击下一步 六.完成扫描配置向导 点击完成之后,会弹出录制窗口 七.外部流量记录器 这个时候,可以操作外部机器对需要扫

手机端调用app导航

因为是在微信端中操作,所以只能使用腾讯地图才能调起手机的腾讯地图app <!doctype html> <html> <head> <meta charset="utf-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta name="viewport" content="ini

(四)AppScan用外部设备录制脚本(手机端应用、app、微信等)进行安全测试

一.打开AppScan,选择外部设备/客户机,点击下一步 二.记录代理设置,可以手动输入需要的端口号,也可以自动选择,记住端口号以及PC电脑的ip地址,手机端如何设置对应的端口跟ip可以参考 三.SSL证书,点击下一步 四.登陆管理,点击下一步, 选择“是” 五.选择测试策略,点击下一步 六.完成扫描配置向导 点击完成之后,会弹出录制窗口 七.外部流量记录器 这个时候,可以操作外部机器对需要扫描的功能模块进行录制, 检测到的域:记录外部机器操作时所产生的域名及URL,可以进行筛选,如果出现多余的

手机端小问题整理

1,tap后会出现一个半透明的灰色背景.起初以为是outline作怪,加上后发现没反应.最后发现是tap后的背景高亮,要重设这个表现,则须要设置-webkit-tap-highlight-color为所需色彩.直接透明吧:a,img,button,input,textarea{-webkit-tap-highlight-color:rgba(255,255,255,0);} 2,另外,怎样去掉textarea,input的默认样式(IOS上的圆角及内阴影等,Android未測试):input,t