1 from urllib.request import quote, unquote
2 import random
3 import requests
4
5 #quote 将单个字符串编码转化为 %xx 的形式
6 # strip() 方法用于移除字符串头尾指定的字符(默认为空格或换行符)或字符序列
7 baidu_cat = quote('总榜').strip();
8
9 refer_url = 'https://data.wxb.com/rankArticle'
10 ajax_url = 'https://data.wxb.com/rank/article?baidu_cat=%s&baidu_tag=&page=1&pageSize=50&type=2&order='%baidu_cat
11
12 headers = {
13 'Accept': 'application/json',
14 'Accept-Encoding': 'gzip, deflate, br',
15 'Accept-Language': 'zh-CN,zh;q=0.9,en;q=0.8',
16 'Connection': 'keep-alive',
17 'Host': 'data.wxb.com',
18 'Referer': refer_url,
19 'User-Agent': 'Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/74.0.3729.169 Safari/537.36'
20 }
21
22 try:
23 resp = requests.get(ajax_url, headers=headers)
24 if resp.status_code == 200:
25 print(resp.json()) #解析内容为json返回
26 except requests.ConnectionError as e:
27 print('Error',e.args) #输出异常信息
28
29 result = resp.json()
30 for item in result['data']:
31 print('url:',item['url'])
32 print('title:',item['title'])
33
34 print("程序结束")
35
36
37
38 '''
39 pip install requests[security]
40
41 这样会额外的安装如下3个包:
42 pyOpenSSL
43 cryptography
44 idna
45
46 '''