-
Notifications
You must be signed in to change notification settings - Fork 1
/
fake_useragent.json
117 lines (95 loc) · 2.35 KB
/
fake_useragent.json
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
# This is a sample Python script.
# Press Shift+F10 to execute it or replace it with your code.
# Press Double Shift to search everywhere for classes, files, tool windows, actions, and settings.
import time
import random,re
from urllib import request
from fake_useragent import UserAgent
from bs4 import BeautifulSoup
url = "https://mp.weixin.qq.com/cgi-bin/appmsg"
token = ""
#需要从网页获取
fakeid = ""
#需要从网页获取
cookie_str = ""
#需要从网页获取
begin = "0"
params = {
"action": "list_ex",
"begin": begin,
"count": "5",
"fakeid": fakeid,
"type": "9",
"token": token,
"lang": "zh_CN",
"f": "json",
"ajax": "1"
}
import requests
def main():
print("开始抓取")
while(True):
index = 0
result = getInfo(index)
while(len(result['app_msg_list'])):
index += 1
getInfo(index)
if (result['base_resp']['ret'] == 200040):
getInfo(index)
print("睡眠一天")
time.sleep(86400)
def getInfo(begin):
ua = UserAgent(path='./fake_useragent.json')
# ua代理
headers = {
"Cookie": cookie_str,
"User-Agent": ua.random
}
#参数begin
params["begin"] = str(begin * 5)
#随机暂停
random_sleep(5, 10)
result = requests.get(url, headers=headers, verify=False,params = params,).json()
try:
app_msg_list = result['app_msg_list']
for item in app_msg_list:
print(item["digest"])
print(item["title"])
except:
if(result['base_resp']['ret'] == 200040):
print(result['base_resp']['ret'])
print(result['base_resp']['err_msg'])
print("token过期,更换token")
params['token'] = getToken()
return result
def getToken():
ua = UserAgent(path='./fake_useragent.json')
cookies = {}
s = requests.Session()
url = 'https://mp.weixin.qq.com'
headers = {
'User-Agent': ua.random,
"Host": "mp.weixin.qq.com",
'Referer': 'https://mp.weixin.qq.com/'
}
for item in cookie_str.split(';'):
sep_index = item.find('=')
cookies[item[:sep_index]] = item[sep_index + 1:]
res = s.get(url=url, headers=headers, cookies=cookies, verify=False)
if res.status_code == 200:
print(res.url)
token = re.findall(r'.*?token=(\d+)', res.url)
if token:
token = token[0]
else:
print('登陆失败')
return token
#随机休眠
def random_sleep(start, end):
# 随机暂停若干时间,暂停时间介于start和end之间
t = random.uniform(start,end)
time.sleep(t)
# Press the green button in the gutter to run the script.
if __name__ == '__main__':
main()
# See PyCharm help at https://www.jetbrains.com/help/pycharm/