加入收藏 | 设为首页 | 会员中心 | 我要投稿 河北网 (https://www.hebeiwang.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 移动互联 > 正文

怎样行使Photon高服从提取网站数据

发布时间:2018-08-17 23:28:55 所属栏目:移动互联 来源:佚名
导读:技能沙龙 | 邀您于8月25日与国美/AWS/转转三位专家配合切磋小措施电商拭魅战 Photon是一种高服从的的收集爬虫,可从方针中提取URL,文件以及种种谍报。其通过多线程大大加速数据提取历程。 项目地点: https://github.com/s0md3v/Photon 首要特点 Photon提供
副问题[/!--empirenews.page--] 技能沙龙 | 邀您于8月25日与国美/AWS/转转三位专家配合切磋小措施电商拭魅战

Photon是一种高服从的的收集爬虫,可从方针中提取URL,文件以及种种谍报。其通过多线程大大加速数据提取历程。

怎样行使Photon高服从提取网站数据

项目地点:

https://github.com/s0md3v/Photon

首要特点

Photon提供的各类选项可以让用户凭证本身的方法抓取网页,不外,Photon最棒的成果并不是这个。

怎样行使Photon高服从提取网站数据

数据提取

默认环境下,Photon在抓取时会提取以下数据:

网址(范畴内和范畴外的)

带参数的网址(example.com/gallery.php?id=2)

谍报(电子邮件,交际媒体帐户,亚马逊水桶等)

文件(pdf,png,xml等)

JavaScript等文件

基于自界嗣魅正则表达式模式的字符串

提取的信息按下图方法生涯。

怎样行使Photon高服从提取网站数据

智能多线程

大大都浮于互联网外貌的器材都没有正确行使多线程,它们要么为线程提供一个项目列表,这会导致多个线程会见统一个项目,可能只是安排一个线程锁定并最终使多线程无效。

Ninja模式

在Ninja模式中,3个在线处事器用于代表你向方针发出哀求。

以是根基上,此刻你有4个客户端同时向统一个处事器发出哀求,假如毗连速率慢,那么可以进步速率,最大限度地低落毗连重置的风险以及来自单个客户端的耽误哀求。

这是Quark天生的较量图,个中的线代表线程:

怎样行使Photon高服从提取网站数据

兼容性&依靠

兼容性

Photon今朝全面兼容python2.x – 3.x,但由于这个项目正处于起劲开拓阶段,也许会必要python2.x不具备的成果。故开拓者最终也许会放弃对python2.x的支持。

操纵体系

Photon已经在Linux(Arch,Debian,Ubuntu),Termux,Windows(7&10)和Mac长举办了测试,并在全部体系上准期运行,假如你发明白任何bug,请在github上提交。

颜色

Mac和Windows不支持ANSI转义序列,因此所输出内容不会在Mac和Windows上表现颜色。

依靠

requests
urllib3
argparse

Photon所行使的别的python库是预装的python表明器的尺度库。

怎样行使Photon
语法: photon.py [选项]
  -u --url              方针url
  -l --level            抓取品级
  -t --threads          线程数
  -d --delay            哀求间的耽误
  -c --cookie           cookie
  -r --regex            正则表达式模式
  -s --seeds            其他的子url
  -e --export           导格外式化功效
  -o --output           指定输出目次
  --exclude             通过正则表达式解除特定url
  --timeout             http 哀求超时
  --ninja               ninja 模式
  --update              更新
  --dns                 转储dns数据
  --only-urls           仅提取url
  --user-agent          指定 user-agent(s)

仅抓取单个网站

选项 -u 或 –url,行使示例:

  1. python photon.py -u "http://example.com" 

抓取深度

选项 -l 或 –level,默认深度为2,行使示例:

  1. python photon.py -u "http://example.com" -l 3 

通过该选项,用户可以配置抓取的递归限定,譬喻,深度为2意思是Photon会从主页和子页。

线程数

选项 -t 或 –threads,默认线程数为2,行使示例:

  1. python photon.py -u "http://example.com" -t 10 

该选项可以对方针举办并发哀求,-t选项可用于指定要举办的并发哀求数目。值得留意的是,固然多线程可以加快抓取,可是也也许会触发安详机制,另外,线程数过多,也有也许使小型网站宕机。

每个HTTP哀求间的耽误

选项 -d 或 –delay,默以为0,行使示例:

  1. python photon.py -u "http://example.com" -d 2 

该选项可以指定每个HTTP(S)哀求之距离断的秒数。有用值是int,譬喻1暗示1秒。

超时

选项 –timeout,默以为5,行使示例:

  1. python photon.py -u "http://example.com --timeout=4 

该选项指定HTTP(S)哀求守候多长时刻即为超时。

Cookies

选项 -c 或 –cookies,默以为 no cookie header is sent,行使示例:

  1. python photon.py -u "http://example.com" -c "PHPSESSID=u5423d78fqbaju9a0qke25ca87" 

该选项应承你在非ninja模式下为发出的每个HTTP哀求添加Cookie header,首要用于方针网站必要基于Cookie验证的气象。

指定输出目次

选项 -o 或 –output,默以为 方针域名,行使示例:

  1. python photon.py -u "http://example.com" -o "我的目次" 

Photon将功效生涯在以方针域名定名的目次中,但你可以行使此选项自界说目次。

解除特定url

(编辑:河北网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

热点阅读