核心代码片段
账号分析模块 — 自动滚动加载作品并提取数据:
def analyze(self, url, max_scroll=30):
"""采集账号主页作品列表"""
self._ensure_driver()
self.driver.get(url)
time.sleep(5)
# 如果是短链接,自动找到作者主页
if "/video/" in self.driver.current_url:
profile_url = self.driver.execute_script(
"var links = document.querySelectorAll('a');"
"for (var i = 0; i < links.length; i++) {"
" if (links[i].href.includes('/user/')) return links[i].href;"
"}"
"return null;"
)
self.driver.get(profile_url)
# 滚动加载作品
for i in range(max_scroll):
videos = self._extract_video_list()
self.driver.execute_script(
"window.scrollTo(0, document.body.scrollHeight)")
time.sleep(2)