javascript - 如何在 Puppeteer 中使用代理(每页一页)
问题描述
美好的一天,需要从一个站点解析大量信息。
该网站有大约50万页。我决定为此使用 Puppeteer + Electron + 一些应用方法。但是我遇到了一个问题,用了一段时间,网站被IP封禁了一个小时(没有完全封禁,但是已经不能注册autoregue了,还有一个账号的限制)。我需要为每次点击链接更改我的 IP,或者至少在发生错误时独立注册这些代理的搜索。
在查看了 The puppeteer 文档之后,我意识到它只提供了一个机会 - 通过配置 (... args: ['--proxy-server= proxy ']) 并且仅在浏览器的开头放置代理。我决定使用插件(puppeteer-proxy、puppeteer-page-proxy 等),但无论是因为我的歪曲,还是其他一些问题,他们都固执地不想按我的需要工作(模块似乎已连接,并且没有给出错误,但是当它出现时
所以我需要模块在不重新启动 puppeteer 实例的情况下使用每页代理
let scrape = async () => {
let browser = await puppeteer.launch({headless: false})
let page = await browser.newPage()
await page.setRequestInterception(true);
page.on('request', async (request) => {
await proxyRequest({
page,
proxyUrl: *my own proxy*,
request,
}); // doesnt working :(
});
//parsing
解决方案
推荐阅读
- javascript - 如何使用表格中的按钮删除表格中的某些内容
- sql - 查找销售百分比和退货百分比
- c - 声明和定义存储在哪里?
- python - 使用scrapy获取url列表,然后只发送不在给定列表中的请求
- flutter - 检查 Firebase 用户是否在 Flutter 中首次使用 google 进行身份验证
- swift - dateDecodingStrategy 显示不正确的年份
- python - 难以理解计算变换网格的 Python 代码
- android - 将 Gradle 和 Android Studio 更新到 3.5 后复制 Hamcrest 和 JUnit 类
- html - 如何将链接的图像/gif 添加到更大的图像上?
- angular - Angular 应用程序因 JitCompiler 错误而崩溃