1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677 |
- """
- @Author : luojunhui
- 小年糕账号爬虫
- """
- import os
- import sys
- import json
- import time
- import uuid
- import random
- import asyncio
- import aiohttp
- import datetime
- sys.path.append(os.getcwd())
- from application.items import VideoItem
- from application.pipeline import PiaoQuanPipeline
- from application.common.messageQueue import MQ
- from application.common.log import AliyunLogger
- class XiaoNianGaoAuthor(object):
- """
- 小年糕账号爬虫
- """
- def __init__(self, platform, mode, rule_dict, user_list, env="prod"):
- self.platform = platform
- self.mode = mode
- self.rule_dict = rule_dict
- self.user_list = user_list
- self.env = env
- self.download_cnt = 0
- self.mq = MQ(topic_name="topic_crawler_etl_" + self.env)
- self.expire_flag = False
- self.aliyun_log = AliyunLogger(platform=self.platform, mode=self.mode)
- async def get_user_videos(self, user_dict):
- """
- 小年糕执行代码
- """
- url = "https://kapi-xng-app.xiaoniangao.cn/v1/album/user_public"
- headers = {
- 'Host': 'kapi-xng-app.xiaoniangao.cn',
- 'content-type': 'application/json; charset=utf-8',
- 'accept': '*/*',
- 'authorization': 'hSNQ2s9pvPxvFn4LaQJxKQ6/7Is=',
- 'verb': 'POST',
- 'content-md5': 'c7b7f8663984e8800e3bcd9b44465083',
- 'x-b3-traceid': '2f9da41f960ae077',
- 'accept-language': 'zh-cn',
- 'date': 'Mon, 19 Jun 2023 06:41:17 GMT',
- 'x-token-id': '',
- 'x-signaturemethod': 'hmac-sha1',
- 'user-agent': 'xngapp/157 CFNetwork/1335.0.3.1 Darwin/21.6.0'
- }
- async with aiohttp.ClientSession() as session:
- next_index = -1
- # 只抓取更新的视频,如果刷到已经更新的立即退出
- while True:
- payload = {
- "token": "",
- "limit": 20,
- "start_t": next_index,
- "visited_mid": int(user_dict["link"]),
- "share_width": 300,
- "share_height": 240,
- }
- async with session.post(
- url,
- headers=headers,
- data=json.dumps(payload)
- ) as response:
- data = await response.json()
|