用同事电脑登了一次百度账号,搜索框就被他用Python监控了

开发 前端
事情是这样的,由于昨天上班忘带笔记本了,就临时用了一下同事王大国的笔记本电脑,中间偶然登了一下百度地图开放平台的账号,没想到他今天给我发来这个。

事情是这样的,由于昨天上班忘带笔记本了,就临时用了一下同事王大国的笔记本电脑,中间偶然登了一下百度地图开放平台的账号,没想到他今天给我发来这个:

 

用同事电脑登了一次百度账号,搜索框就被他用python监控了

尴尬的想找个地缝钻进去

经过一番询问,他终于道出了实情,原来百度的账号会自动同步。

例如,在登录了网页版的百度地图、百度API等账号后,浏览器会自动保持,你的所有百度账号就自动登上了。

当你使用已登录百度账号手机或电脑的百度搜索框时,他那里就会自动弹出历史搜索记录,如下图:

 

用同事电脑登了一次百度账号,搜索框就被他用python监控了

然后可以用python爬虫定时获取搜索记录

首先抓包获取数据接口:

 

用同事电脑登了一次百度账号,搜索框就被他用python监控了

然后写个小爬虫,因为要有账号信息,所以要带上cookie:

 

  1. import requests 
  2. header={ 
  3.     'User-Agent':'Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:82.0) Gecko/20100101 Firefox/82.0'
  4.     "Cookie":'',     
  5. url='https://www.baidu.com/sugrec?prod=pc_his&from=pc_web&json=1' 
  6. response=requests.get(url,headers=header) 
  7. print(response.text) 
  8.  
  9. UnicodeEncodeError: 'latin-1' codec can't encode character '\u2026' in position 518: ordinal not in range(256) 

但是你可能会遇到上面这种情况,报编码错误

我去网上查了一下,以为是编码的问题,然后给cookie加了“utf-8”编码方式,如下:

 

  1. import requests 
  2. header={ 
  3.     'User-Agent':'Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:82.0) Gecko/20100101 Firefox/82.0'
  4.     "Cookie":''.encode("utf-8"), 
  5. url='https://www.baidu.com/sugrec?prod=pc_his&from=pc_web&json=1' 
  6. response=requests.get(url,headers=header) 
  7. print(response.text) 
  8.  
  9. {"err_no":0,"errmsg":"","queryid":"0x21a1c8a90872b8"

又报错了。。。。。

就在我认为百度是不是有什么高端的反爬措施时,突然发现cookie的“BDUSS”参数有点问题,如下:

  1. BDUSS=JkRjIyUFR2T01Yd3QxcTZ…AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP4Gzl~-Bs5fZX 

中间多了省略号,这是因为字符太长了,被自动省略了,于是我赶紧把该参数补全,重新尝试了一下:

 

  1. import requests 
  2. header={ 
  3.     'User-Agent':'Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:82.0) Gecko/20100101 Firefox/82.0'
  4.     "Cookie":''
  5. url='https://www.baidu.com/sugrec?prod=pc_his&from=pc_web&json=1' 
  6. response=requests.get(url,headers=header) 
  7. print(response.text) 

大功告成

最后加个循环程序:

 

  1. import requests 
  2. import json 
  3. import datetime,time 
  4. header={ 
  5.     'User-Agent':'Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:82.0) Gecko/20100101 Firefox/82.0'
  6.     "Cookie":''
  7. url='https://www.baidu.com/sugrec?prod=pc_his&from=pc_web&json=1' 
  8. result=[] 
  9. while True
  10.     dt = datetime.datetime.now().strftime('%Y-%m-%d %H:%M:%S') #时间戳 
  11.     response=requests.get(url,headers=header) 
  12.     datas=json.loads(response.text)['g'
  13.     for data in datas: 
  14.         if data['q'not in result: 
  15.             print(data['q']+'   '+dt) 
  16.             result.append(data['q']) 
  17.     time.sleep(60) 

 

用同事电脑登了一次百度账号,搜索框就被他用python监控了

以自己的亲身经历告诉大家,千万不要在被人电脑上乱登账号,小则丢人、大则丢金,切记切记!

责任编辑:未丽燕 来源: 今日头条
相关推荐

2009-08-20 08:57:01

框计算

2011-10-28 16:19:21

百度搜索

2011-03-23 17:28:03

2021-01-28 06:07:32

百度搜索搜索引擎 应用

2019-06-18 14:01:44

百度互联网人工智能

2019-08-26 13:01:07

百度流量搜索

2014-11-24 10:28:51

2012-11-16 11:01:50

移动搜索ASO

2010-08-30 10:48:10

百度框计算云计算

2009-08-21 10:33:52

2017-06-09 08:34:22

PPT出错百度

2018-10-19 10:05:14

区块链百度百度搜索

2023-10-17 20:21:25

百度AI原生思维

2013-07-16 16:37:12

91百度

2015-09-24 14:06:24

百度搜索Windows 10

2012-11-25 15:42:47

互联网百度搜索

2013-08-22 17:08:50

2021-02-17 09:23:31

Python百度搜索

2010-09-01 11:11:33

2014-07-25 17:12:39

数据库WOT2014MongoDB
点赞
收藏

51CTO技术栈公众号