You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Scrapy-Playwright无法加载网页桌面版的问题求助

Scrapy-Playwright无法加载网页桌面版的问题求助

大家好,我正在做一个仅用于学习的爬虫项目,用scrapy-playwright来抓取动态渲染的页面,但遇到了个麻烦:浏览器默认窗口尺寸太小,每次都会加载网页的移动端版本,直接导致我的抓取逻辑没法正常运行。

我查了Playwright的相关文档,了解到有两种解决思路:一是把视口设置成桌面端的全屏尺寸,二是通过设备模拟功能伪装成桌面设备。我觉得设备模拟的实现有点复杂,就先尝试了设置视口尺寸的方法。

我试着在请求的meta参数里的playwright_page_methods中添加了set_viewport_size方法,但完全没生效——页面还是以原来的小尺寸打开,而且爬虫直接自行终止了,根本没开始抓取流程。

下面是我start_requests函数里的代码片段:

url = f"{base_url}{encoded_medicine}"

meta = {
    "playwright": True,
    "playwright_page_methods": [
        # PageMethod("set_viewport_size",'({"width": 1920, "height": 1080})'),
        PageMethod("wait_for_selector", f"(//div[contains(@class,'grid-container')]/descendant::div[contains(@class,'style__container')])[{self.first_page_med}]"),
    ],
    "playwright_include_page": True
}

headers={"accept":"text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9",
        "accept-encoding":"gzip, deflate, br",
        "accept-language":"en-US,en;q=0.9,de;q=0.8",
        "user-agent":UserAgent().chrome}

yield scrapy.Request(url, meta=meta, errback=self.close_page, callback=self.parse, method='GET', headers=headers)

想请教一下各位,我哪里写错了吗?或者有没有其他更靠谱的方法能让scrapy-playwright强制加载网页的桌面版本?

备注:内容来源于stack exchange,提问作者Ayush Rathore

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.22 07:59:36