
没有关系
爬虫一般指网络爬虫,是一种按照一定规则自动抓取网页信息的程序或脚本;木马是一种计算机病毒,是指隐藏在正常程序中的一段具有特殊功能的恶意代码,是具有破坏和删除文件,发送密码,记录键盘和攻击Dos等特殊功能的后门程序。
一、爬虫是违法的么
1、爬虫是否违法需要根据以下情况判断:
(1)爬虫本身不违法;
(2)如果爬虫程序采集到公民的姓名、身份z件号码、通信通讯****、住址、账号密码、财产状况、行踪轨迹等个人信息,并将之用于非法途径的,则肯定构成非法获取公民个人信息的违法行为。
2、法律依据:《中华人民共和国民法典》第一千零三十二条
自然人享有隐私权。任何组织或者个人不得以刺探、侵扰、泄露、公开等方式侵害他人的隐私权。
隐私是自然人的私人生活安宁和不愿为他人知晓的私密空间、私密活动、私密信息。
第一千零三十三条
除法律另有规定或者权利人明确同意外,任何组织或者个人不得实施下列行为:
(一)以电话、短信、即时通讯工具、电子邮件、传单等方式侵扰他人的私人生活安宁;
(二)进入、拍摄、窥视他人的住宅、宾馆房间等私密空间;
(三)拍摄、窥视、窃听、公开他人的私密活动;
(四)拍摄、窥视他人身体的私密部位;
(五)处理他人的私密信息;
(六)以其他方式侵害他人的隐私权。
二、非法获取公民个人信息要怎么处罚
非法获取公民个人信息的处罚措施如下:
1、向他人出售或者提供公民个人信息,情节严重的,处三年以下有期徒刑或者拘役,并处或者单处罚金。情节特别严重的,处三年以上七年以下有期徒刑,并处罚金。
2、将在履行职责或者提供服务过程中获得的公民个人信息,出售或者提供给他人的,依照前款的规定从重处罚。
3、窃取或者以其他方法非法获取公民个人信息的,依照第一款的规定处罚。
相较于爬虫技术,反爬虫实际上更复杂。目前许多互联网企业都会花大力气进行“反爬虫”,网络爬虫不但会占据过多的网站流量,导致有真正需求的用户没法进入网站,另外也有可能会导致网站关键数据的外泄等现象。网络爬虫遍布互联网的各个角落,因此网络爬虫有好处也有坏处,接下来介绍一下和网络爬虫一同诞生的反爬虫技术,如何才能防止别人爬取自己的网站?
1、基于程序本身去防止爬取:作为爬虫程序,爬取行为是对页面的源文件爬取,如爬取静态页面的html代码,可以用jquery去模仿写html,这种方法伪装的页面就很难被爬取了,不过这种方法对程序员的要求很高。
2、基于iptables和shell脚本:可以对nginx的accesslog进行策略定义,例如定义在1分钟内并发连接数超过30个ip为非法,如ip不在白名单内,则加入iptables策略封掉,当然这种的缺点是会有“误伤”,策略细粒度越小就会有更多的“误伤”,细粒度大就会使效果变差,另外还有类似的第三方工具fail2ban,利用做filter和actor对一些有危害的 *** 作记录或是封ip。但是对于某个特定的爬虫地址(例如网易、有道)的爬取行为拒绝也很难准确做到,因为你无法准确知道这些特定的爬虫ip地址。注意:建议不要用封ip条目的方式,iptables列表长度是65535时就会封满,服务器也就会死机。
3使用robotstxt文件:例如阻止所有的爬虫爬取,但是这种效果不是很明显。
User-agent:
Disallow: /
4使用nginx的自带功能:通过对httpuseragent阻塞来实现,包括GET/POST方式的请求,以nginx为例,具体步骤如下:
编辑nginxconf
拒绝以wget方式的httpuseragent,增加如下内容
## Block http user agent - wget ##
if ($http_user_agent ~ (Wget) ) {
return 403;
}
## Block Software download user agents ##
if ($http_user_agent ~ LWP::Simple|BBBike|wget) {
return 403;
平滑启动
# /usr/local/nginx/sbin/nginx -s reload
如何拒绝多种httpuseragent,内容如下:
if ($http_user_agent ~ (agent1|agent2|Foo|Wget|Catall Spider|AcoiRobot) ) {
return 403;
}
大小写敏感匹配
### 大小写敏感http user agent拒绝###
if ($http_user_agent ~ (Catall Spider|AcoiRobot) ) {
return 403;
}
### 大小写不敏感http user agent拒绝###
if ($http_user_agent ~ (foo|bar) ) {
return 403;
}
注意语法:~表示是大小写不敏感,~表示是大小写敏感
}
以上就是预防网站信息被别人爬取的一些方法,大量的爬取行为会对web服务器的性能有影响,所以一定要注重反爬虫措施。
爬虫不能涉及个人隐私!如果爬虫程序采集到公民的姓名、身份z件号码、通信通讯****、住址、账号密码、财产状况、行踪轨迹等个人信息,并将之用于非法途径的,则肯定构成非法获取公民个人信息的违法行为。也就是说你爬虫爬取信息没有问题,但不能涉及到个人的隐私问题,如果涉及了并且通过非法途径收益了,那肯定是违法行为。
法律依据:
《中华人民共和国网络安全法》第二十七条任何个人和组织不得从事非法侵入他人网络、干扰他人网络正常功能、窃取网络数据等危害网络安全的活动;不得提供专门用于从事侵入网络、干扰网络正常功能及防护措施、窃取网络数据等危害网络安全活动的程序、工具;明知他人从事危害网络安全的活动的,不得为其提供技术支持、广告推广、支付结算等帮助。
当爬虫爬取数据的行为对目标网站造成严重影响,爬取行为具有社会危害性时,涉嫌犯罪。
法律分析
大数据时代,用户信息等数据早已成为所有互联网企业的核心竞争资源。在某种意义上,抢占了数据就是抢占了客户,抢占了市场。因此,近年来因争夺数据而引发的纠纷越来越多;获取数据的常见方式,除了向用户收集、从第三方共享、受让外,还有使用爬虫爬取数据。由于“技术中立”的基本原则,爬虫本身不为法律所禁止,可采集公开信息。“公开”指的是对大众(所有人)公开,不具有传播对象的特定性;如果爬取对象是对外提供公开查询服务的网站的公开信息,不构成侵权或犯罪,可以抓取;没有设置反爬声明或采取反爬技术措施的各类商业网站,一般不限制爬取数据,但也并不意味着可以随意抓取。
法律依据
《中华人民共和国刑法》 第二百八十六条 违反国家规定,对计算机信息系统功能进行删除、修改、增加、干扰,造成计算机信息系统不能正常运行,后果严重的,处五年以下有期徒刑或者拘役;后果特别严重的,处五年以上有期徒刑。违反国家规定,对计算机信息系统中存储、处理或者传输的数据和应用程序进行删除、修改、增加的 *** 作,后果严重的,依照前款的规定处罚。故意制作、传播计算机病毒等破坏性程序,影响计算机系统正常运行,后果严重的,依照第一款的规定处罚。单位犯前三款罪的,对单位判处罚金,并对其直接负责的主管人员和其他直接责任人员,依照第一款的规定处罚。第二百八十六条之一网络服务提供者不履行法律、行政法规规定的信息网络安全管理义务,经监管部门责令采取改正措施而拒不改正,有下列情形之一的,处三年以下有期徒刑、拘役或者管制,并处或者单处罚金:(一)致使违法信息大量传播的;(二)致使用户信息泄露,造成严重后果的;(三)致使刑事案件证据灭失,情节严重的;(四)有其他严重情节的。单位犯前款罪的,对单位判处罚金,并对其直接负责的主管人员和其他直接责任人员,依照前款的规定处罚。有前两款行为,同时构成其他犯罪的,依照处罚较重的规定定罪处罚。
我用 PHP 和 Python 都写过爬虫和正文提取程序。
最开始使用 PHP 所以先说说 PHP 的优点:
1语言比较简单,PHP 是非常随意的一种语言。写起来容易让你把精力放在你要做的事情上,而不是各种语法规则等等。
2各种功能模块齐全,这里分两部分:
1网页下载:curl 等扩展库;
2文档解析:dom、xpath、tidy、各种转码工具,可能跟题主的问题不太一样,我的爬虫需要提取正文,所以需要很复杂的文本处理,所以各种方便的文本处理工具是我的大爱。;
总之容易上手。
缺点:
1并发处理能力较弱:由于当时 PHP 没有线程、进程功能,要想实现并发需要借用多路服用模型,PHP 使用的是 select 模型。实现其来比较麻烦,可能是因为水平问题我的程序经常出现一些错误,导致漏抓。
再说说 Python:
优点:
1各种爬虫框架,方便高效的下载网页;
2多线程、进程模型成熟稳定,爬虫是一个典型的多任务处理场景,请求页面时会有较长的延迟,总体来说更多的是等待。多线程或进程会更优化程序效率,提升整个系统下载和分析能力。
3GAE 的支持,当初写爬虫的时候刚刚有 GAE,而且只支持 Python ,利用 GAE 创建的爬虫几乎免费,最多的时候我有近千个应用实例在工作。
缺点:
1对不规范 HTML 适应能力差:举个例子,如果一个页面里面同时有 GB18030 字符集的中文和 UTF-8 字符集的中文,Python 处理起来就没有 PHP 那么简单,你自己需要做很多的判断工作。当然这是提取正文时的麻烦。
Java 和 C++ 当时也考察过,相对脚本语言比较麻烦,所以放弃。
总之,如果开发一个小规模的爬虫脚本语言是个各方面比较有优势的语言。如果要开发一个复杂的爬虫系统可能 Java 是个增加选项, C++ 我感觉写个模块之类的更加适合。对于一个爬虫系统来说,下载和内文解析只是基本的两个功能。真正好的系统还包括完善的任务调度、监控、存储、页面数据保存和更新逻辑、排重等等。爬虫是一个耗费带宽的应用,好的设计会节约大量的带宽和服务器资源,并且好坏差距很大。
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)