增加对producthunt网站的数据爬取
This commit is contained in:
76
test_simple_stealth.py
Normal file
76
test_simple_stealth.py
Normal file
@@ -0,0 +1,76 @@
|
||||
#!/usr/bin/env python3
|
||||
# -*- coding: utf-8 -*-
|
||||
"""
|
||||
简化版测试脚本,验证 new_data_stealth.py 的基本功能
|
||||
"""
|
||||
|
||||
import asyncio
|
||||
from loguru import logger
|
||||
from playwright.async_api import async_playwright
|
||||
from playwright_stealth.stealth import Stealth
|
||||
|
||||
async def test_basic_functionality():
|
||||
"""测试基本功能"""
|
||||
logger.info("=== 测试 new_data_stealth.py 基本功能 ===")
|
||||
|
||||
try:
|
||||
# 导入 ProductHuntScraper 类
|
||||
from product.new_data_stealth import ProductHuntScraper
|
||||
logger.success("ProductHuntScraper 类导入成功")
|
||||
|
||||
# 创建实例
|
||||
scraper = ProductHuntScraper()
|
||||
logger.success("ProductHuntScraper 实例创建成功")
|
||||
|
||||
# 测试浏览器启动
|
||||
logger.info("测试浏览器启动...")
|
||||
browser_started = await scraper.start_browser()
|
||||
|
||||
if browser_started:
|
||||
logger.success("浏览器启动测试通过")
|
||||
|
||||
# 测试页面导航(简化版)
|
||||
logger.info("测试页面导航...")
|
||||
try:
|
||||
# 只访问主页测试
|
||||
await scraper.page.goto("https://www.google.com", {"waitUntil": "networkidle", "timeout": 30000})
|
||||
logger.success("页面导航测试通过")
|
||||
|
||||
# 保存截图测试
|
||||
await scraper.take_screenshot()
|
||||
logger.success("截图功能测试通过")
|
||||
|
||||
# 保存HTML测试
|
||||
await scraper.save_html()
|
||||
logger.success("HTML保存功能测试通过")
|
||||
|
||||
except Exception as e:
|
||||
logger.error(f"页面导航测试失败: {e}")
|
||||
|
||||
finally:
|
||||
# 关闭浏览器
|
||||
await scraper.close_browser()
|
||||
logger.info("浏览器已关闭")
|
||||
|
||||
logger.success("✅ 所有基本功能测试通过!")
|
||||
return True
|
||||
else:
|
||||
logger.error("❌ 浏览器启动失败")
|
||||
return False
|
||||
|
||||
except Exception as e:
|
||||
logger.error(f"❌ 测试失败: {e}")
|
||||
return False
|
||||
|
||||
async def main():
|
||||
"""主函数"""
|
||||
success = await test_basic_functionality()
|
||||
|
||||
if success:
|
||||
logger.info("🎉 脚本修复成功!现在可以正常运行 new_data_stealth.py")
|
||||
logger.info("运行命令: python product/new_data_stealth.py")
|
||||
else:
|
||||
logger.error("💥 脚本仍有问题,需要进一步调试")
|
||||
|
||||
if __name__ == "__main__":
|
||||
asyncio.run(main())
|
||||
Reference in New Issue
Block a user