|
|
|
@ -1,13 +1,16 @@ |
|
|
|
# _*_ coding: utf-8 _*_ |
|
|
|
|
|
|
|
import json |
|
|
|
import os |
|
|
|
import random |
|
|
|
import time |
|
|
|
from datetime import datetime |
|
|
|
|
|
|
|
import execjs |
|
|
|
import requests |
|
|
|
from loguru import logger |
|
|
|
import os |
|
|
|
from datetime import datetime |
|
|
|
import config |
|
|
|
import json |
|
|
|
|
|
|
|
import config |
|
|
|
from utils import CookieUtils |
|
|
|
|
|
|
|
|
|
|
|
@ -52,7 +55,9 @@ def perform_search(cookies, keyword, page, js_context): |
|
|
|
'page': str(page), |
|
|
|
} |
|
|
|
|
|
|
|
response = requests.get('https://tousu.sina.com.cn/api/index/s', cookies=cookies, params=params, headers=headers) |
|
|
|
response = requests.get('https://tousu.sina.com.cn/api/index/s', |
|
|
|
cookies=cookies, params=params, |
|
|
|
headers=headers, proxies=config.PROXY) |
|
|
|
if not response.status_code == 200: |
|
|
|
raise RuntimeError(f"响应异常 状态码: {response.status_code}") |
|
|
|
try: |
|
|
|
@ -64,7 +69,7 @@ def perform_search(cookies, keyword, page, js_context): |
|
|
|
def process_search_results(cookies, keyword, max_page): |
|
|
|
datas = [] |
|
|
|
js_context = load_js() |
|
|
|
for page in range(1, max_page): |
|
|
|
for page in range(1, max_page + 1): |
|
|
|
try: |
|
|
|
result = perform_search(cookies, keyword, page, js_context) |
|
|
|
datas.append(result) |
|
|
|
@ -72,6 +77,7 @@ def process_search_results(cookies, keyword, max_page): |
|
|
|
except Exception as e: |
|
|
|
logger.error(f"出现异常: 关键词: {keyword} 页码: {page}") |
|
|
|
logger.error(f"异常信息: {str(e)}") |
|
|
|
time.sleep(random.randint(2, 5)) |
|
|
|
return datas |
|
|
|
|
|
|
|
|
|
|
|
@ -86,4 +92,3 @@ if __name__ == '__main__': |
|
|
|
for item in all_result: |
|
|
|
file.write(f"{json_string}\n") |
|
|
|
logger.success(f"{k} 查询结果已保存") |
|
|
|
|