requests 获取百度推广信息
2019年的第一篇博客,恩,好久没写过博客了,恩,忘了,哈哈,实在是太懒了
今天写一个爬取百度推广数据的爬虫,当然我写的肯定不是那么的完美,但是能用,大哭
注意:有的时候,get或post方法获取数据是会报ssl等错误,网站要验证啥的,没搞懂,网上搜索,都是设置 verify=False,我也懒得去详细分析,你们要是有兴趣可以去了解一下,然后这么设置了,在GET或者post是会有warning提示,编写代码:
# 禁用ssl发出的警告requests.packages.urllib3.disable_warnings() 下面代码:
def main(): #开启一个session对话 main_session = requests.session() return main_session def get_cost_info(main_session, endtime, flag1, flag2): #获取省或市在日期或者月份下的消费信息 if flag1 == 'province': splitDimension = "provinceName" else: splitDimension = "provinceCityName" if flag2 == 'month': unitOfTime = 3 else: unitOfTime = 5 headers = { 'Accept':'application/json', 'Accept-Encoding':'gzip, deflate', 'Accept-Language':'zh-CN,zh;q=0.8', 'Connection':'keep-alive', 'Content-Length':'763', 'Content-Type':'application/x-www-form-urlencoded', 'Cookie':setting.Cookie, 'DNT':'1', 'Host':'fengchao.baidu.com', 'Origin':'https://fengchao.baidu.com', 'Referer':'https://fengchao.baidu.com/fc/report/dashboard/user/%s/account'%setting.userid, 'User-Agent':'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/47.0.2526.106 BIDUBrowser/8.7 Safari/537.36', 'X-DevTools-Emulate-Network-Conditions-Client-Id':'87F3C66D-3166-46F6-8B46-141057354EBC' } params = { "userId":setting.userid, "ids":[setting.userid], "idType":2, "splitDimension":splitDimension, "limit":[0,1000], "sortRules":[], "levelOfDetails":211, "startDate":"2019-01-01", "endDate":endtime, "predicateConditions":[], "unitOfTime":unitOfTime, "columns":["userId","date","accountName","impression","click","cost","cpc","ctr","conversion","phoneConversion","bridgeConversion"] } formdata = { 'reqid': setting.reqid, 'eventId': setting.eventId, 'userid': setting.userid, 'token': setting.token, 'path': 'mars/GET/AccountReportDataService/getAccountDataCenterReportData', 'params': json.dumps(params) } #url是去F12---network获取的 url_1 = 'https://fengchao.baidu.com/hairuo/request.ajax?path=mars/GET/AccountReportDataService/getAccountDataCenterReportData&reqid=%s' % formdata['reqid'] cont_1 = main_session.post(url_1, headers=headers, data=formdata, verify=False) datas = cont_1.json() cont_list_1 = datas['data']['ACCOUNT']['rows'] for i in cont_list_1: cont_list_2 = i['subRows'] cont_list = [] for j in cont_list_2: if flag2 == 'month': time_1 = j['date'][0:7] time_list1 = time_1.split('-') date = '%s年%s月份' % (time_list1[0], str(int(time_list1[1]))) else: date = j['date'] zhanghu = j['accountName'] province, city = '', '' if flag1 == 'province': province = j['provinceName'] else: city_list = j['provinceCityName'].split('-') province, city = city_list[0], city_list[1] zhanxian = str(j['impression']) dianji = str(j['click']) xiaofei = str(j['cost']) pinjunjiage = str('%.2f' % (j['cpc'])) dianjilv = str('{:.2%}'.format(j['ctr'])) wangyezhuanhua = str(j['conversion']) dianhuazhuanhua = str(j['phoneConversion']) shangqiaozhuanhua = str(j['bridgeConversion'])cont_list.append([date, zhanghu, province, zhanxian, dianji, xiaofei, pinjunjiage, dianjilv, wangyezhuanhua, dianhuazhuanhua, shangqiaozhuanhua])
经过测试,cookie一般能保持7天不过期,七天之后就要重新登录浏览器F12获取
转载于:https://www.cnblogs.com/wozuilang-mdzz/p/10736115.html
requests 获取百度推广信息相关推荐
- Selenium3自动化测试——4. 获取百度备案信息
1. 实现目标 获取百度底部备案信息 2. 实现代码 from selenium import webdriverdriver = webdriver.Chrome() driver.get(&quo ...
- 想学爬虫的同学看过来,手把手教你利用Python网络爬虫获取APP推广信息
一.前言 CPA之家app推广平台是国内很大的推广平台.该网址的数据信息高达数万条,爬取该网址的信息进行数据的分析. 二.项目目的 实现将获取到的QQ,导入excel模板,并生成独立的excel文档. ...
- 如何用requests获取百度网站的图片资源
''' @project:requests @auther:本仙不要草莓 @file:demo_03.py @date:2022/6/21 9:21 @desc: ''' import request ...
- 2020年最新JS获取百度搜索引擎推广关键字方法
这几天因为网站需求需要获取百度推广关键确定推广效果和推广转换率. 看了很多技术类的文章都不能实现获取百度推广关键词,通过对百度营销工具的研究终于成功. 现讲方法总结如下: 1.需要百度推广账户配合解决 ...
- JS脚本实现模拟按钮点击:批量抓取百度推广中的关键词建议
点击html5搜更精彩! JavaScript是个好东东,轻量级,好学易懂.尤其在HTML5时代,这个老朽的语言犹如凤凰涅槃,重获新生. 在Chrome浏览器中,利用小乐图客扩展中的JS代码模块(完美 ...
- HTML Parser Jsoup - 网页抓取百度百科信息的例子
目标:获取百度百科基本信息.信息列表.人物图片(同名情况暂不考虑). 重点:调用开源Jar包Jsoup对HTML解析.网页抓取.简单爬虫. 例子(部分类去掉,运行需改改code): import ja ...
- python的requests.get()方法获取百度搜索结果页面失败的问题
昨天学到python的requests模块,准备获取一下百度搜索的结果,然后把相关链接打开,在get()结果页的时候一直取不到, keyword=input('输入要搜索的关键字:') res=req ...
- Python3 Requests+BS4网络爬虫:最详细零基础的获取百度快照链接爬虫教程(思路篇)
Hello,大家好呀,五一劳动节快乐呀!最近在后台接到一个粉丝的私信说怎么爬取百度快照.正好五一有一段时间休息,咱们就来水一篇文章,顺便来巩固巩固基础的知识. 注意注意!这是思路篇,没有代码!只有思路 ...
- 百度推广是什么意思?信息传播对于百度推广的方法总结分享
百度推广是指百度搜索引擎优化的一种推广方式,是专业的网络营销手段,旨在将企业的产品和服务推广到网络上,以获得更多的流量和品牌影响力.下面鲨鱼网媒小编为你分享! 一.百度推广的主要投放方式有以下几种: ...
- Python3 | 通过百度地图API获取商家详细信息(包括店名,地址,经纬度,电话)
一.打开百度地图开放平台,选择Web服务API . 官方文档对API接口的调用描述的比较详细,在调用之前先要申请百度地图的账号,然后申请密钥,获取密钥的步骤官方也有说明. 二.通过百度地图 ...
最新文章
- Exchange服务器系列课程之六--维护邮件服务器(一)
- PMCAFF | 一个CRM产品大神的产品之路
- 基于Qt\C++实现的网络远程控制系统
- js中this和回调方法循环-我们到底能走多远系列(35)
- Linux文件(区域)锁函数 -- open()、fcntl()
- hawq state 报错: the database is down, but Ambari shows all hawq services as being
- jQuery插件imageTick实现复选和单选框转化为图片
- 按值设置选择选项“已选择”
- Azure PowerShell (13) 批量设置Azure ARM Network Security Group (NSG)
- gcc/g++使用及gdb调试新手入门
- php寻仙记,【网站搭建】寻仙记+天空之城两款文字游戏PHP源码
- 如何删除“无法删除文件,无法读取源文件或磁盘”文件
- 机器学习算法竞赛实战-学习总结
- 基于51单片机的pid算法温度控制系统protues仿真
- iphone双卡双待神器android,荐好货:让iPhone变双卡双待神器大盘点
- VMware vCenter Server远程代码执行漏洞复现 CVE-2021-21972
- 控制测量步骤及其内业计算
- SQL案例学习-保护个人信息
- 块元素div转变为行内块元素之后如何消除之间间隙
- 企业wms系统安装在云服务器,wms 云服务器 还是本地