重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
这篇文章主要介绍了python爬虫中抓取指数的示例,具有一定借鉴价值,需要的朋友可以参考下。希望大家阅读完这篇文章后大有收获。下面让小编带着大家一起了解一下。
创新互联专注于浦北网站建设服务及定制,我们拥有丰富的企业做网站经验。 热诚为您提供浦北营销型网站建设,浦北网站制作、浦北网页设计、浦北网站官网定制、微信小程序服务,打造浦北网络公司原创品牌,更为您提供浦北网站排名全网营销落地服务。
刚好这几天需要用到这个爬虫,结果发现baidu指数的请求有点变化,所以就改了改:
import requests import sys import time word_url = 'http://index.baidu.com/api/SearchApi/thumbnail?area=0&word={}' COOKIES = '' headers = { 'Accept': 'application/json, text/plain, */*', 'Accept-Encoding': 'gzip, deflate', 'Accept-Language': 'zh-CN,zh;q=0.9', 'Cache-Control': 'no-cache', 'Cookie': COOKIES, 'DNT': '1', 'Host': 'index.baidu.com', 'Pragma': 'no-cache', 'Proxy-Connection': 'keep-alive', 'Referer': 'http://index.baidu.com/v2/main/index.html', 'User-Agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_13_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/75.0.3770.90 Safari/537.36', 'X-Requested-With': 'XMLHttpRequest', } def decrypt(t,e): n = list(t) i = list(e) a = {} result = [] ln = int(len(n)/2) start = n[ln:] end = n[:ln] for j,k in zip(start, end): a.update({k: j}) for j in e: result.append(a.get(j)) return ''.join(result) def get_ptbk(uniqid): url = 'http://index.baidu.com/Interface/ptbk?uniqid={}' resp = requests.get(url.format(uniqid), headers=headers) if resp.status_code != 200: print('获取uniqid失败') sys.exit(1) return resp.json().get('data') def get_index_data(keyword, start='2011-01-03', end='2019-08-05'): keyword = str(keyword).replace("'", '"') url = f'http://index.baidu.com/api/SearchApi/index?area=0&word={keyword}&area=0&startDate={start}&endDate={end}' resp = requests.get(url, headers=headers) if resp.status_code != 200: print('获取指数失败') sys.exit(1) content = resp.json() data = content.get('data') user_indexes = data.get('userIndexes')[0] uniqid = data.get('uniqid') ptbk = get_ptbk(uniqid) while ptbk is None or ptbk == '': ptbk = get_ptbk(uniqid) all_data = user_indexes.get('all').get('data') result = decrypt(ptbk, all_data) result = result.split(',') print(result) if __name__ == '__main__': words = [[{"name": "酷安", "wordType": 1}]] get_index_data(words)
输出:
运行代码就可以得到我们想要的指数了。
感谢你能够认真阅读完这篇文章,希望小编分享python爬虫中抓取指数的示例内容对大家有帮助,同时也希望大家多多支持创新互联,关注创新互联行业资讯频道,遇到问题就找创新互联,详细的解决方法等着你来学习!