Scrapy-Playwright无法滚动页面,仅能获取初始链接的问题求助
Scrapy-Playwright无法滚动页面,仅能获取初始链接的问题求助
各位大佬好,我最近在用Scrapy结合Playwright爬取TikTok页面时遇到了棘手的问题:只能获取页面初始加载出来的链接,不管尝试哪种PageMethod操作,截图始终都是初始页面的样子。我试过用keyboard.press模拟按键、mouse.wheel模拟滚轮滚动,甚至看过官方文档后把滚动操作移到了parse方法里执行,但都没解决问题,实在摸不着头绪,麻烦帮忙看看哪里出问题了!
以下是我的代码:
import scrapy from scrapy.utils.response import open_in_browser from scrapy_playwright.page import PageMethod from scrapy.selector import Selector import asyncio class YtspiderSpider(scrapy.Spider): name = "ytspider" def start_requests(self): yield scrapy.Request('https://www.tiktok.com/@huberman.clips', meta={ 'playwright':True, 'playwright_include_page': True, 'playwright_page_methods': [ PageMethod('wait_for_load_state','networkidle'), PageMethod('wait_for_selector', 'div.tiktok-16ou6xi-DivTagCardDesc.eih2qak1'), PageMethod('evaluate', "window.scrollBy(0, document.body.scrollHeight);") ], }, errback= self.close_page ) async def parse(self, response): try: page = response.meta['playwright_page'] await page.screenshot(path="test.png", full_page=True) html = await page.content() s = Selector(text=html) for container in s.css('div.tiktok-16ou6xi-DivTagCardDesc.eih2qak1'): link = container.css('a::attr(href)').get() yield { 'link': link } await page.close() except Exception as e: self.log(f"An error occurred: {e}") await self.close_page(e)
备注:内容来源于stack exchange,提问作者RookiePython
相关产品推荐
相关产品推荐

