风火编程--playwright爬虫

playwright爬虫

with sync_playwright() as pw:
    browser = pw.chromium.launch(headless=True)
    context = browser.new_context()
    page = context.new_page()
	禁止加载图片
	page.route("**/*", lambda route: route.abort() 
		if route.request.resource_type == "image" 
		else route.continue_() 
)
或者, lambda可以替换为自定义的函数
page.route(re.compile(r"\.(jpg|png|svg)$"), 
		lambda route: route.abort())

    page.goto(url)
    page.wait_for_load_state('networkidle')
    text = page.content()
    page.close()
    context.close()
    browser.close()

滚动鼠标

page.mouse.wheel(0,3000)

使用登录状态

# 保存
storage = context.storage_state()
    with open("state.json", "w") as f:
        f.write(json.dumps(storage))
# 加载
context = browser.new_context(storage_state="login_data.json")

点击标签

page.goto(url)
    time.sleep(random.uniform(3, 5))
    page.locator('//a[@id="main-link"]').first.click(delay=random.uniform(0.01, 0.2), force=True)
    time.sleep(random.uniform(3, 5))
    video_element = page.locator('//div[text()="视频" or text()="Videos"]')
    video_position = video_element.bounding_box()
    x = random.uniform(video_position['x'], video_position['x'] + video_position['width'])
    y = random.uniform(video_position['y'], video_position['y'] + video_position['height'])
    page.mouse.move(x, y)
    page.mouse.down()
    time.sleep(random.uniform(0.01, 0.5))
    page.mouse.up()
    time.sleep(random.uniform(3, 5))
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值