[Python] 纯文本查看 复制代码import datetime
import os
import re
import requests
import bs4
# 获取关注的所有贴吧链接
def get_tieba_link():
url = '/f/like/mylike?&pn='
page = 1
links = []
while True:
response = requests.get(url + str(page), headers=headers)
bs = bs4.BeautifulSoup(response.text, 'lxml')
for a in bs.select('table tr>td:first-child>a'):
links.append({'href': a.get('href'), 'name': a.string})
if '下一页' not in str(bs):
break
page += 1
return links
# 从贴吧链接中获取贴吧签到参数
def tieba_batch_sign():
links = get_tieba_link()
for link in links:
response = requests.get('/' + link['href'], headers=headers)
tbs_reg = pile(r'\'tbs\':\s"(.*?)"')
tbs = tbs_reg.search(response.text).group(1)
if not tbs: # 如果tbs不存在则跳过本次循环
continue
param = {'ie': 'utf-8', 'kw': link['name'], 'tbs': tbs}
response = requests.post('/sign/add', data=param, headers=headers)
result = response.json()
if result['no'] == 0:
msg = str(datetime.datetime.now().strftime('%Y-%m-%d %H:%M:%S')) + ' ' + link['name'] + ' 签到成功\n'
else:
msg = str(datetime.datetime.now().strftime('%Y-%m-%d %H:%M:%S')) + ' ' + link['name'] + ' ' + result[
'error'] + '\n'
print(msg)
with open(os.path.join(os.getcwd(), 'sign.log'), 'a+') as loghandle:
loghandle.write(msg)
if __name__ == '__main__':
headers = {
'cookie': 'xxxxxxxxxxxx'
}
tieba_batch_sign()