跳转到主要内容

Net::HTTP - 支持多页数据抓取和绕过 CloudFlare 的通用基础爬虫工具

爬虫工具概览​

爬虫工具概览Net::HTTPNet::HTTP 是一款通用的爬虫工具,可用于解决大多数非标准任务。它可以作为从任何网站抓取任意内容的基石。支持通过链接下载页面代码,支持多页抓取(翻页),自动处理代理,并允许根据状态码或页面内容验证响应是否成功。

爬虫工具应用案例​

采集的数据​

采集的数据
  • 内容
  • 服务器响应代码
  • 服务器响应描述
  • 服务器响应头
  • 请求时使用的代理
  • 包含所有采集页面的数组(在使用 Use Pages 选项时使用)

功能​

  • 多页数据抓取(翻页)
  • 自动处理代理
  • 按代码或页面内容检查成功响应
  • 支持 gzip/deflate/brotli 压缩
  • 自动识别并将网站编码转换为 UTF-8
  • 绕过 CloudFlare 防护
  • 选择引擎(HTTP 或 Chrome)
  • Check content 选项 – 在获取的页面上执行指定的正则表达式。如果表达式未匹配,页面将使用其他代理重新加载。
  • Use Pages 选项 – 允许按指定步长遍历指定数量的页面。变量 $pagenum 包含遍历时的当前页码。
  • Check next page 选项 – 需要指定一个正则表达式,用于提取下一页的链接(通常是“下一页”按钮),如果存在的话。页面跳转在指定的限制范围内进行(0 表示无限制)。
  • Page as new query 选项 – 跳转到下一页作为新请求进行。允许取消翻页数量限制。

使用场景​

  • 下载内容
  • 下载图片
  • 检查服务器响应代码
  • 检查 HTTPS 是否存在
  • 检查重定向是否存在
  • 输出重定向 URL 列表
  • 获取页面大小
  • 采集 Meta 标签
  • 从页面源代码和/或响应头中提取数据

查询​

查询应指定页面链接,例如:

http://lenta.ru/
http://a-parser.com/pages/reviews/

结果输出示例​

A-Parser 凭借内置的 Template Toolkit 模板引擎支持灵活的结果格式化,使其能够以任意形式以及结构化形式(如 CSV 或 JSON)输出结果。

输出内容​

结果格式:

$data

结果示例:

<!DOCTYPE html><html id="XenForo" lang="ru-RU" dir="LTR" class="Public NoJs uix_javascriptNeedsInit LoggedOut Sidebar  Responsive pageIsLtr   hasTabLinks  hasSearch   is-sidebarOpen hasRightSidebar is-setWidth navStyle_0 pageStyle_0 hasFlexbox" xmlns:fb="http://www.facebook.com/2008/fbml">
<head>
<!-- Google Tag Manager -->
<!-- End Google Tag Manager -->
<meta charset="utf-8" />
<meta http-equiv="X-UA-Compatible" content="IE=Edge,chrome=1" />
<meta name="viewport" content="width=device-width, initial-scale=1" />
<base href="https://a-parser.com/" />
<title>A-Parser - 专业的 SEO 爬虫工具</title>
<noscript><style>.JsOnly, .jsOnly { display: none !important; }</style></noscript>
<link rel="stylesheet" href="css.php?css=xenforo,form,public,parser_icons&amp;style=9&amp;dir=LTR&amp;d=1612857138" />
<link rel="stylesheet" href="css.php?css=facebook,google,login_bar,moderator_bar,nat_public_css,node_category,node_forum,node_list,notices,panel_scroller,resource_list_mini,sidebar_share_page,thread_list_simple,twitter,uix_extendedFooter&amp;style=9&amp;dir=LTR&amp;d=1612857138" />
<link rel="stylesheet" href="css.php?css=uix,uix_style&amp;style=9&amp;dir=LTR&amp;d=1612857138" />

服务器响应代码​

结果格式:

$code

结果示例:

200
备注

结果格式 [% response.Redirects.0.Status || code %] 允许在请求存在重定向时输出 301 状态。

获取请求数据​

变量 $response 有助于获取有关服务器请求和响应的信息

结果格式:

$response.json\n

结果示例:

{
"Time": 3.414,
"connection": "keep-alive",
"Decode": "Decode from utf-8(meta charset)",
"cache-control": "max-age=3600,public",
"last-modified": "Tue, 18 May 2021 12:42:56 GMT",
"transfer-encoding": "chunked",
"date": "Thu, 27 May 2021 14:18:42 GMT",
"Status": 200,
"content-encoding": "gzip",
"Body-Length-Decoded": 1507378,
"Reason": "OK",
"Proxy": "http://51.255.55.144:25302",
"content-type": "text/html",
"Redirects": [],
"server": "nginx",
"Request-Raw": "GET / HTTP/1.1\r\nAccept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8\r\nAccept-Encoding: gzip, deflate, br\r\nAccept-Language: en-US,en;q=0.9\r\nConnection: keep-alive\r\nHost: a-parser.com\r\nUpgrade-Insecure-Requests: 1\r\nUser-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1)\r\n\r\n",
"URI": "https://a-parser.com/",
"HTTPVersion": "1.1",
"Body-Length": 299312,
"Decode-Mode": "auto-html",
"etag": "W/\"60a3b650-170032\"",
"Decode-Time": 0.003,
"IP": "remote",
"expires": "Thu, 27 May 2021 15:18:42 GMT"
}

获取重定向​

查询:

https://google.it

结果格式:

$response.Redirects.0.URI -> $response.URI

结果示例:

https://google.it/  -> https://www.google.it/

包含重定向的 JSON​

结果格式:

$response.Redirects.json

结果示例:

[{"x-powered-by":"PleskLin","connection":"keep-alive","URI":"http://a-parser.com/","location":"https://a-parser.com/","date":"Thu, 18 Feb 2021 09:16:36 GMT","HTTPVersion":"1.1","Status":301,"content-length":"162","Reason":"Moved Permanently","Proxy":"socks5://51.255.55.144:29683","content-type":"text/html","IP":"remote","server":"nginx","Request-Raw":"GET / HTTP/1.1\r\nAccept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8\r\nAccept-Encoding: gzip, deflate, br\r\nAccept-Language: en-US,en;q=0.9\r\nConnection: keep-alive\r\nHost: a-parser.com\r\nUpgrade-Insecure-Requests: 1\r\nUser-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1)\r\n\r\n"}]

输出服务器响应状态​

结果格式:

$reason

结果示例:

OK

服务器响应时间​

结果格式:

$response.Time

结果示例:

1.457

获取页面大小​

作为示例,大小以三种不同的方式呈现。

结果格式:

[% "data-length: " _ data.length _ "\n";
"Body-Length: " _ response.${'Body-Length'} _ "\n";
"Body-Length-Decoded: " _ response.${'Body-Length-Decoded'} _ "\n" %]

结果示例:

data-length: 70257
Body-Length: 23167
Body-Length-Decoded: 75868

结果处理​

A-Parser 允许在数据抓取过程中直接处理结果,在本节中,我们列出了 Net::HTTP 爬虫工具最受欢迎的案例

输出 H1-H6 标签​

添加正则表达式(选项 Parse custom results (使用正则表达式)) <(h\d+)[^>]+>(.+?)<\/h\d+>, 在“Parse result”字段中选择 $pages.$i.data - Page content,在正则表达式右侧的字段中选择修饰符 sg。结果类型将自动选择为数组。在“Name”字段中填写 headers,然后在“$1 to”中填写 tag,点击

旁边的加号,并在出现的新字段“$2 to”中填写 content。在结果通用格式中写入 $p1.headers.format('$tag - $content\n')。

下载示例

如何将示例导入 A-Parser

eJxtVNuO2jAQ/RVkIS2IW3loH6IVFYuK2ooSlmWfIJUsMgR3HTu1HboI8e+dcUIC
tE+Jj+ccn7nYJ+a4fbMLAxacZcH6xDL/zwI2BxcEX1erRWOrpYStEypp7Ie9/SfW
ZRk3Fgwx1nUg4jHseC4d656YO2aAMtvcOp0uwXqYmeInWKNEApYo3HEW0U4C70h4
bO03m7jTXv8cRZ1Rq9/53H7cbAYeHLEyblWI26SSLBFuDD8i6L9znhK2Bx6T2Uso
2cbEibvVyoFyLDpHUbU91SblVIJmNuyX5P7Og62HJhIbvUazZG426qFdK7/wA6w0
UndCQg1PcVWaaWK+QLsXxXbfvVNleBwLJ7TisjifXNaeXpX4nRNfaYzFXyPATo1O
EXLgBQg8XryvWdOvqbK55z4XHBbsuLTQZRatTjkaie93hAPDnTZhRn4QPzGtxlLO
4ACyDvP6T7mQVJ/xDknfSuL/Q8J/NM5VetdHHcD8MeihUvGrp/BHzYr1TCeXYkiR
CodrO9G5orZ9QPANIKtqNqewVBuojimVy9Nx/jNQMUbWLRtnNXSTxk1bbkGciZ1I
QkzAiBgukbla4SUL1USnmQTKS+VSYlssLOvxGNuyDbSoDd6TJ/4ItFXdNOa0lvb7
S2E1MwLH7yMZTLGS16eWklsu5etydr1DRLylWai+GHPXPj8YbO9cZoPBgPeKm9/f
6nRA9weHOdE4ZpjqOarehepBOV29DsHpjK37ZRdFDOVJEYhhwSz2hQXD81+VjpX2

采集 Meta 标签​

添加正则表达式(选项 Parse custom results (使用正则表达式))(<meta[^>]+>),在“Parse result”字段中选择 $pages.$i.data - Page content,在正则表达式旁边的字段中选择修饰符 g。结果类型将自动选择为数组。在“Name”字段中填写 meta,在“$1 to”中填写 item。在结果格式中使用 $p1.meta.format('$item\n')。

下载示例

如何将示例导入 A-Parser

eJxtVO9v2jAQ/V8spBatg/XDvkRTJYqEtokRRtNPNJMscsk8/Gu2Q0FR/vfeJSGB
bp/ie37v3Z3PTsUC93u/duAheBZtK2abNYtYBjkvZWB3zHLnwdH2lq0gRNHXJFkj
3jMqFk4WULMrfTBqA74VunYRbdGiAE8SHjhLaaeAIwpuvygIfPvrIf3wMGYdnrRm
Re/QAdw5fkKw+a64IozkPY9KZCKAYmmdpj26ME5xamlk7yckmOQNcnszIvLLi74Z
Dx5P/ACJQXYuJAzwAqMu5wi7ANo9+4wn4Uj98iwTQRjNZZuS6hnKeNbib0l6bZCL
SyfAL5xRCAVoDAg8ncvdslET03mVjfZnq2FRzqWHO+ax1AXHQrL3O9iX48G42FI9
iFfM6JmUSziAHGiN/2MpZIbzneUo+tYJ/0+J//Go+/YuUx3AvTqsoXdposf4x6DK
zNIU58OQQomAsZ+bUtOkPiG4B7D9ma2IpoyDPk3n3GXHK2xBZ8gcRjazA3TVxtVY
rsGd0bkoYmzAiQzOzFIn+E5iPTfKSqC+dCkljsXDZrgeM9+NgYKhwPfieZPi6oUF
Y6T//tSWap3A6/eZClR4kpdZO8sdl/J5s7zcYcOVwuB3CNZH0yn/2L7dyc6o6avY
i6nQGRynjDwCFAZvF3ZYp/0j738F1cVTj6oaJ/bHr1sOtUcMxPCcPI6DRff1GzD1
gDE=

翻页遍历方案​

使用 Use pages​

Use pages。此功能允许在预先知道页数的情况下遍历翻页。 例如,我们以商品目录网站的一个分类为例 https://www.proball.ru/catalog/myachi/。在顶部和底部我们可以看到翻页面板。点击带有页码的图标时,可以在浏览器地址栏中看到页码参数是如何在请求末尾传递的:

https://www.proball.ru/catalog/myachi/?PAGEN_1=1

Use pages 是一种计数器,它实际上按顺序将数字代入 $pagenum 变量,并按我们指定的值递增

使用 Use pages

如截图所示,在爬虫工具的请求格式中,在需要的位置使用了 $pagenum 变量。 Use pages 功能将遍历并代入请求中的所有值,实际上我们将获得用于请求的链接

https://www.proball.ru/catalog/myachi/?PAGEN_1=$pagenum

其中变量 $pagenum 将被替换为页码,从 1 到 4,步长为 1。 通过这种方式,实现了对所需范围页面的遍历。这种方法的局限性在于需要预先知道翻页中的总页数。显然,当同时抓取多个分类时,各处的页数都会不同,作为权衡,我们可以简单地指定一个较大的预估页数。但这并不完全正确,因此有一个更优的解决方案,稍后将进行讨论

下载示例
eJx1VNtu2kAQ/ZVqhJSgUAhV+2I1jSgqvSgCmtAnjKKtPTZu1rubvXAR8r931jY2
pOmTvWfPXM7M7BzAMvNk5hoNWgPB8gCq/IcAnME5SxF6oJg2qP31EqZog+DbYjEn
PMaEOW6hdwC7V0g2coNaZ7E3ymI6p1LGY1meN4w7oizfXV+vitYicsbK/B5N6Qh0
9RMsKWiKxgdhlsHK36S4I4OP7E3EmTE3IaQU6m1mMX98XCOLUYcQhuZqrTGh28v+
1W03hE9Q2y6qgGkTpQaY1mxPYPmdstxjPBNPpiF65SUEp5lLZTMpzFFqXS7TSoWh
9xrHmecxDsGhEvVgUdW3/hxJJ3y930NR/L+Szw71PpE6Z/YkQqeEb+ejr1+mj8Ob
jvcnXA7FatUkP6mMiKyG/VJYv/JzebG2VplgMNhut32l5W/GeV+7jieFobjothV4
YBtcSHKSZBxbeEKnumQdahT626P3bj8ym7MKVJn4arbZ/RLZcylFSOJ6ORmaiZY5
QRZ3tgb3RxXLWrMfCVfa/qxsIEgYN9gDQ6lOGCUSv7yhUdHMSj2rO0cNkWLE+R1u
kLe00v9nl3GaKDNKyOh7bfg6ZfaPj6KRdxqKOrrVlENLiuWdTI/anxBVU42pR3Kp
sXFQR6790otVKPxgtM0YqRY6S/Cs4OdgJEWSpbN62I5MJxa0FmZiLHPF0WcsHOc9
P+P3beNHpi6wP7QJvjQelyEorWZdgJWSmx8PVapKZzRYH5rmE/r6XA4iWgVcpoN8
z6J1NiBbQjCVNA1+c5XjQi9Hl/J6gDvFRIxUEasdFqti1ayyZuEdThZacKAHCH/M
vOJ4VZ5BGJXHUBcgGBZ/AXULzRU=

使用 Check next page​

Check next page 是另一个允许组织翻页遍历的功能。其使用特点在于,为了跳转到下一页,需要使用一个能够返回下一页链接的正则表达式。这是一种更方便且最常用的方法。但无法将其应用于 https://www.proball.ru/catalog/myachi/,因为代码中没有指向下一页的链接。那里的链接是由脚本生成的。因此,我们以网站 http://www.imdb.com/search/name?gender=female 为例。这里在列表的开头和结尾都有翻页。通过查看和分析源代码,可以看到存在允许跳转到下一页的链接:

img

  • 在 Next page RegEx 字段中写入正则表达式
  • 在 Limit (限制) 字段中指定需要遍历的页数
使用 Check next page

示例中指定了 4。通过指定限制,我们确定了爬虫工具应该遍历多少页。在我们的案例中,将遍历 5 页,因为计数是从 0 开始的。如果指定限制为 0,则爬虫工具将一直工作,直到遍历完所有页面,无论其数量多少。当需要从所有页面抓取所有结果时,这非常方便

下载示例
eJx1VGFT2kAQ/SuZG2aUggGq4DSijnXG2qpAlY4fCM6cZANXL7n07iJYhv/e3RAS
sO0XuH3ZvX1vd2+XzHLzYgYaDFjDvNGSJdmZeWwyg8lLDxZ2wKfA6izh2oAmpxHr
gfW86+FwgHgAIU+lZfUls28JYKR6Ba1FQEEiQHuqVHCpMvuVyxRdRh+bzfHq/xEp
ZjrAtLEtY9id+i2k5I2223T2H0UcqLlxekOn47ZOHLQ7RyfOonNUdS6SRMIjPN8I
22gfHruHHWf/5np4d1t3pHgB5wsKU1XncqZVBI32J7fpHjaPW26r1XYeeMi1yMPY
FsVJaqyK7sFkWpleH7wR1mUKhurALWdj+jKFBQZ0TcJjZyK5Mac+k8JY1CQsRAdI
HRZuzWdnvm8+7Lu18yodur7foBhCa10+ejob19Yeo6fueMuJn7E8zXDNbVoQygGu
NX9DMPvv8YgwSm0KR+oji9PoGZGYHHbakVihYrPpxvtJ2DSky52ZhhDVrTUwIv5O
MFXnIMZYh34y02fELAgEJeGSecvdDLciEjSAR2y1Go8LwldKR5zwStJyMzFumEH7
exUS4lRIh+/He9VS5QN/haHCoFBIKOErtPKyVLBvQF83t1Vdu7A7DNeZqWIlmx+x
+JUVIVboi0ctwFzhQCFkIbuAwLcN6xGrZDZNSJrFfl/HMC/k0kCdGaR6xZFI8P4L
itXcKt3P24IFU/GFlLfwCrJ0y+7/nAoZ4DO9CDHoax74b5f+X3esCnnbqfBtzjVy
KJ0CdaumG+0vAElRjR4hkdJQXJBnzu/FTZNATENVNgOfawHtENwp+C44UXEopv18
bWw803iI66wfX6oINwAxjlMp67RO7svGX5i8wGSUBN8HX2YpkFax4JhVSppvD2uq
iRY4WO2i+YjOrE28RmM+n7siCp7diYoaBriezBo0m+e40FDCaQgRz6ZxgqM3VTgU
tHizqaHhMZQKFrgJAsCyWJ3CarwaFxu42NbLrT3sLVfYmJ9msPYhaeSBGNbIYCuY
11r9ASIaBUM=

如上所述,可以在 Use pages 中动态限制页数。为此,需要同时使用 Use pages 和 Check next page。让我们补充在描述 Use pages 时考虑的示例,并向其中添加 Check next page 功能:

使用 Check next page (2)

这两个功能配合工作的方式如下:Use pages 负责遍历页面,而 Check next page 检查是否存在下一页。一旦 Check next page 找不到下一页,该分类的数据抓取将停止,而不会等待完成 Use pages 中指定的全部数量。通过结合这些功能,我们提高了爬虫工具的工作效率,节省了时间和资源

下载示例
eJx1VNtuGjEQ/ZXKQkqiEC6V+rJqGtGo9KIIaEKfWBS5u7OLi9d2bC8EIf69M3uF
XJ52fTyXM2fGs2eeu7WbWXDgHQsWe2aKfxaw3MGMp8C6zHDrwNL1gk3AB8GP+XyG
eAwJz6Vn3T3zOwPoozdgrYjJScR4TrWOb3Vx3nCZo8ni42CwPLQeUe68zu7BFYGY
LX+CBSZNwVES7jlb0k0Kz+jwmX+IJHfuOmQpproSHrLHxxXwGGzIwtBdriwkeHve
u7y5CNkXVvnOy4Rpk6UCuLV8h2DxnfCMMCnU2jWGVHkBsWPm2nihlatLreRybals
SFHjWJAdlyzYl0U9eDDVLZ0jnSvSezgYsMPhfS2fcrC7RNuM+6McnQK+mY2+f5s8
Dq87FFHlGXufaLSCaD2BZ191t45EQl8pxK8oxjVpGV+G7FUNJ/53IhNEnqgvl41g
45Im0jPDXiFmr2R+frby3rig399utz1j9V8uZc/mHTIKQ3V20ar+wDcw1xgkERJa
eIynqk0d5Ax0W0e/6EVuc8K4ZEIdbNn9UeKpKFlptCUBBbix1RlCHgurwF1dxaJS
mcYwL3x/lz4sSLh00GUOqY45Eolf3uB4Wu61nVZNQAG1Gkl5BxuQrVkR/2suJE6x
GyXo9LNyfNtk+irGoSnvOBXO0NYih9Yo1nc6rWtfA5hGjQkhmbbQBKgyV3FxSxhQ
NEJtM0amhU4Ingh+CkZaJSKdVuNdW+Zqjqtoqm51ZiQQY5VL2aV3dd82fuQqgenQ
EnzpfFukoKGuVxTzWkv366GkaqzAwfrUNB/Rt+eyH+GrkDrtZzserUQffRGBVOM0
0LYsxgWfmC3K6zJ4NlzFgIoMD8vDstmdzYbdH23QYI/vnf1zs9KGSiILxFAbhy2g
KP8Byg3yDQ==

使用替换宏​

替换宏 允许实现从指定范围按顺序替换值

使用替换宏

该预设将按以下方式工作。在请求格式中指定模板:

$query?PAGEN_1={num:1:10}

我们将 1 before 10 的值替换(可以指定任何范围)添加到请求本身。通过这种方式,我们获得了确保遍历所需页数的请求,形式如下:

https://www.proball.ru/catalog/myachi/?PAGEN_1=1
https://www.proball.ru/catalog/myachi/?PAGEN_1=2
...
https://www.proball.ru/catalog/myachi/?PAGEN_1=10

使用 替换宏 进行翻页遍历类似于 Use pages 功能,并且具有相同的限制,即需要指定具体的值范围。这种方法的优点在于,通过替换宏可以替换不同的值,既可以是数字,也可以是文本,例如单词或短语。通过这种方式,我们可以更灵活地在请求中插入所需部分,或者根据任务需要,从分布在不同文件中的部分构建请求本身

下载示例
eJxtVFtP2zAU/iuTVQkQXUsn7SUaQx2iu4i1HXRPTYW85CT1cGzPx+lFUf47x26a
AOMp8Xcu3+dzccUcx0ecW0BwyKJlxUz4ZxH7yROr8WbH+sxwi2C9fcmm4KLo22Ix
JzyFjJfSsX7F3N4ABekNWCtSIKNI6ZxrnV7rcN5wWZLL8sPFxaruIpISnS7uAEMi
Zg8/0ZJIc0BPwh1nK2/JYUcBn/i7RHLEy5jlRPVeOCgeHtbAU7Axi2M8X1vIyHo6
OL86i9ln1sQuDoR5y9IA3Fq+JzB8p7zwmBTqEVtHf/MAsVW9WrXoRNuC+1L1zGgQ
IgZZgE5P1s4ZjIbD7XY7MFb/4VIObNnzTnGsTs661Pd8AwtNSTIhoYMndGq09KgC
4K3H7GeDBDdecJoKJ7Ti8qDEy+zU/Vbiny84U5p86dcKwInVBUEOdq4B98dbLFkv
nK/m468304fRZaXKIhpFo4val78M6X4d0rAo4xKhz5DUTzhpS19bqC2WO21nxksk
vGJajaW8hQ3Izi1QfimFpO7hOKOg703g2y6z/3LU7Y2fU9Ecbi1p6JxSfavzYzke
AUxboKlHCm2hTdAwN3lpPQwoP85df8amg14IfNGDl2CiVSbyWbMiR89SLWgHZ+pa
F0aCV6xKKangCHfdLIyxKbA/dAJfB18HCpLVriZzWkv8cX+QaqygWfvYzgOhb4/q
MKG1kzofFnuerMWQYgmBXNt9eCbCBPlBQs8BO8NVClQPZ0uoaUvaR6N9W6pnT0dU
1dSRvzg/+Pg7eQ/CqDhIPWDRqH4C36ybyg==

使用 Page as query​

为了减少内存消耗,可以使用 Page as query 选项来定义逻辑。激活该选项后,Check next page 和 Use pages 功能会将每一个后续页面作为独立的请求代入查询,从而不会在内存中累积它们的内容。Page as query 还允许确定是否提高请求级别 Increase(类似于 tools.query.add 工具的工作方式),或者保持不变 Keep

使用 Page as query
下载示例
eJx1VNty2jAQ/RWPJg/QEts0gUydpBnCDE0bAiQhkwfgQbHXoCJbriQDKcO/dyXM
tc0LeFd7OXv2siSaqqnqSVCgFQkGS5LZbxKQHh1DQ3Vg/piDfCcVklGpQBqrAemA
DoK7fr+H+ghimnNNKkui3zNAVzEDKVkE+MgilMdCRE1h5RnlOZoMvvj+aPWxR46Z
ThFAqnc+5EH8YZxTr+b6TumVpZGYK6fTd+pu9dJBuX5+6Szq52WnkWUcXuHtnmmv
dnbhntWd0v1d/6FdcTibgvMdwqkoO82JFAl4ta+u7575F1W3Wq05zzSmkhVuZB9i
pplI1QZhOMEgHVhow9MeyCvqTCTE10NScj/flIdkOFSfQ06VQhVnSmNhGbqcpujr
mB8rDgnGoFHETBLKSbA8zNBmCTNd8cnqY0zZccsKUFrmcBx9CpBZszbMADX+ajUa
VQh2H3upWkIm1OQ7yaquZpqbEou3ZzqDvsC3mO2rWyh1aGJgnURUg3l1YxunVHb1
Qh8UuE5ghmmX9CVlvy2HqUBb/JQMVAt7hCoNNoBRvm/ADciJlQmGyK3v49qHBDHl
CktWCLVFEUh0/MKwD1QL2S0YREZE2uDcsrEzs/Fvc8YjnPxGjE4/Csf/m3T/ibHa
lrefCsd9LhHDNoqVbrsPO69ItMUYK4/esG5u2o+yaoo8Xc9BxbZwy1nHcJYICds0
ReQiO+54BqmZkl3LcE+2qoMyDtqyp1wSJXIZmgX2ESHV1HBfDKOEMSxscPOPm2Dn
5lvJ/XRTvhoOvbW4MeivnczsamF6uZ6y0QoDhiKN2bhb3IQNmjzt47Hqpk2R4Hob
7tKc84q5FU+7EWyootVG2JFw7Ny0KQy9m+uFMARXP5/XdGSSIaqaAZtgt/azFiFD
yvnLU3v/hezGFoWJ1lngefP53GVJ9OaGIvEUUBlOvBT35AavG9J6HUNC7R6FuDRj
geOM5RoWinu7Pc7LvasbLPEMkF+qt7YxtRoL1CFpCvtPgurqL0u6AK8=

可用设置​

参数名称默认值描述
Good statusAll选择哪些服务器响应将被视为成功。如果抓取时收到服务器的其他响应,则将使用其他代理重复请求
Good code RegEx可以指定用于检查响应代码的正则表达式
Ban Proxy Code RegEx可以根据服务器响应代码暂时封禁代理 (Proxy ban time)
MethodGET请求方法
POST body使用 POST 方法时传递给服务器的内容。支持变量 $query – 请求 URL,$query.orig – 原始查询,以及 $pagenum - 使用 Use Pages 选项时的页码。
Cookies可以为请求指定 cookies。
User agent_自动代入最新版本 Chrome 的 user-agent_请求页面时的 User-Agent 请求头
Additional headers可以指定自定义请求头,支持模板引擎功能并使用请求构造器中的变量
Read only headers☐仅读取响应头。在不需要处理内容的情况下,某些时候可以节省流量
Detect charset on content☐根据页面内容识别编码
Emulate browser headers☑模拟浏览器请求头
Max redirects count7爬虫工具将执行的最大重定向次数
Follow common redirects☑允许在同一域名内绕过 Max redirects count 限制进行 http <-> https 和 www.domain <-> domain 的重定向
Max cookies count16要保存的最大 cookies 数量
EngineHTTP (Fast, JavaScript Disabled)允许选择 HTTP 引擎(更快,无 JavaScript)或 Chrome 引擎(较慢,启用 JavaScript)
Chrome Headless☐如果启用此选项,浏览器将不会显示
Chrome DevTools☐允许使用 Chromium 调试工具
Chrome Log Proxy connections☐如果启用此选项,chrome 连接信息将输出到日志中
Chrome Wait Untilnetworkidle2定义何时认为页面已加载。关于取值的详细信息。
Use HTTP/2 transport☐定义是否使用 HTTP/2 代替 HTTP/1.1。某些网站如果使用 HTTP/1.1 会立即封禁,而另一些网站则不支持 HTTP/2。
Try use HTTP/1.1 for Protocol error☑指示爬虫工具在启用 HTTP/2 并收到协议错误(即网站不支持 HTTP/2)时,使用 HTTP/1.1 重试请求
Don't verify TLS certs☐禁用 TLS 证书验证
Randomize TLS Fingerprint☐此选项允许绕过网站对 TLS 指纹的封禁
Bypass CloudFlare with Chrome☐自动绕过 CloudFlare 检查
Bypass CloudFlare with Chrome Max Pages20通过 Chrome 绕过 CF 时的最大页数
Bypass CloudFlare with Chrome Headless☑如果启用此选项,通过 Chrome 绕过 CF 时将不显示浏览器