亮数据爬虫浏览器的使用方法与示例
什么是爬虫浏览器以及如何最好地使用它来收集数据?
爬虫浏览器是亮数据的代理解锁解决方案之一,为你处理各种代理IP的轮换使用和解锁基础设施,旨在帮助你专注于从浏览器收集数据。
它是一个多步解锁产品,你可以通过 Puppeteer、Playwright、Selenium 等浏览目标网站,并与网站的 HTML 代码交互以提取你需要的数据。
请查看如下的入门指南,了解创建爬虫浏览器并将其集成到您的代码中是多么简单易用,然后请查看一些常见的爬虫浏览器功能和示例,帮助你满足精确的数据收集需求。
爬虫浏览器支持哪些编码语言?
亮数据的爬虫浏览器支持多种编程语言。目前,通过Puppeteer、Playwright 和 Selenium 对 Node.js 和 Python 提供了完整的原生支持,并且还可以使用下面的其它库集成其它语言,让你可以灵活地将爬虫浏览器集成到当前的技术堆栈中。
Language/Platform | puppeteer | playwright | selenium |
Python | pyppeteer | playwright-python | Selenium WebDriver |
JS / Node | Native support | Native support | WebDriverJS |
Ruby | Puppeteer-Ruby | playwright-ruby-client | Selenium WebDriver for Ruby |
C# | .NET: Puppeteer Sharp | Playwright for .NET | Selenium WebDriver for .NET |
Java | Puppeteer Java | Playwright for Java | Native support |
Go | chromedp | playwright-go | Selenium WebDriver for Go |
怎样集成使用爬虫浏览器?
1.登录/注册到你的亮数据控制面板
2.创建亮数据爬虫浏览器
点击页面左边的坐标按钮-》点击右边的“添加”按钮-》点击“亮数据浏览器”
-》然后点击“添加”-》再点击“确定”。
创建好后其状态应为“运行”状态。
注意:如果你尚未添加付款方式,此时系统会提示你添加一种方式以验证帐户的真实性。如果这是你第一次使用亮数据,那么通常来说你还会获得5美元的赠送金额!
添加付款方式仅用于验证目的,不会收取任何费用。
3. 在 Node.js 或 Python 中创建你的第一个在亮数据的爬虫浏览器会话。
点击通道名称后进入通道的“访问参数/Access parameters”标签,里面有你的用户名 (Customer_ID)、通道名称和密码。这些信息将用于之后的集成步骤中。
Node.js示例:
*安装Puppeteer-core(可用现有浏览器安装的轻量级版本)。
npm i puppeteer-core
*请参阅以下示例脚本(交换凭证、通道和目标URL):
const puppeteer = require(‘puppeteer-core’);
// should look like ‘brd-customer–zone-:’
const auth=’USERNAME:PASSWORD’;
async function run(){
let browser;
try {
browser = await puppeteer.connect({browserWSEndpoint: wss://${auth}@brd.superproxy.io:9222
});
const page = await browser.newPage(); page.setDefaultNavigationTimeout(2601000);
await page.goto(‘https://example.com’);
const html = await page.evaluate(() => document.documentElement.outerHTML);
console.log(html);
} catch(e) {
console.error(‘run failed’, e);
} finally {
await browser?.close(); }
}
if (require.main==module)
run();
*运行脚本
Python示例:
*安装Playwright
pip3 install playwright
*请参阅以下示例脚本(交换凭证、通道和目标URL):
import asyncio
from playwright.async_api import async_playwright
should look like ‘brd-customer–zone-:’
browser_url = f’https://{auth}@brd.superproxy.io:9222′
asyncdefmain():
asyncwith async_playwright() as pw:
print(‘connecting’);
browser = await pw.chromium.connect_over_cdp(browser_url)
print(‘connected’);
page = await browser.new_page()
print(‘goto’)
await page.goto(‘https://example.com’, timeout=120000)
print(‘done, evaluating’)
print(await page.evaluate(‘()=>document.documentElement.outerHTML’))
await browser.close()
asyncio.run(main())
*运行脚本
python scrape.py
怎样测试是否存在连接问题?
请使用以下curl检查你的连接:
curl -v -u USER:PASS https://brd.superproxy.io:9222/json/protocol
如有任何其它问题,请参阅亮数据的故障排除指南或提交技术支持请求。
其他信息和资源
屏蔽请求
可以阻止不需要的端点以节省带宽。
请参阅以下示例:
// connect to a remote browser…
const blockedUrls = [‘doubleclick.net];
const page = await browser.newPage();
const client = await page.target().createCDPSession();
await client.send(‘Network.enable’);
await client.send(‘Network.setBlockedURLs’, {urls: blockedUrls});
await page.goto(‘https://washingtonpost.com’);
定位国家
使用亮数据爬虫浏览器时,可以使用与亮数据其它代理产品中相同的定位国家的参数。
在发送请求时,请在请求的通道名称后添加-country标志,接着添加该国家2个字母的缩写。比如美国就在通道名称后添加-us。即:brd-customer-你的账号名称比如hl_12345678-zone-爬虫浏览器的通道名称比如scraping_browser1-country-us:你的通道密码比如3pq8e6rfjol5 “http://target.site”
在以下示例中,在请求中添加了-country-us ,因此请求就会从美国发出(“us即美国的英文字母缩写”)。
curl–proxy brd.superproxy.io:22225 –proxy-user brd-customer–zone–country-us: “http://target.site”
欧盟地区
你可以通过在请求中在“country”后面添加“eu”来以与如上的“国家”相同方式针对整个欧洲联盟地区:-country-eu
使用 -country-eu 发送的请求将使用自动包含在“eu”中的以下任何国家之一的 IP 地址:
AL, AZ, KG, BA, UZ, BI, XK, SM, DE, AT, CH, UK, GB, IE, IM, FR, ES, NL, IT, PT, BE, AD, MT, MC, MA, LU, TN, DZ, GI, LI, SE, DK, FI, NO, AX, IS, GG, JE, EU, GL, VA, FX, FO
请注意:此方法的欧盟国家是随机分配的。如果你需要指定具体国家,则直接使用-country-欧盟国家名缩写。比如法国:-country-fr
祝您使用愉快!