当前位置:首页 > 黑客技术 > 正文内容

Python爬虫开发(一):零根底入门

访客4年前 (2021-04-15)黑客技术669

0×00 介绍
爬虫技能是数据发掘,测验技能的重要的组成部分,是搜索引擎技能的中心。
可是作为一项一般的技能,一般人相同能够用爬虫技能做许多许多的工作,比方:你想了解一下FreeBuf一切关于爬虫技能的文章,你就能够编写爬虫去对FreeBuf的文章进行搜索,解析。比方你想取得淘宝某类产品的价格,你能够编写爬虫主动搜索某类产品,然后获取信息,得到自己想要的成果,每天守时爬一下自己就能够决定在什么时分贱价的时分买下心仪的产品了。或者说自己想搜集某类信息集组成自己的数据库,可是手动复制粘贴特别的费事,这时分爬虫技能就能够帮上大忙了对不对?
0×01 要求
那么本系列文章旨在遍及爬虫技能,当然不是那种直接拿来爬虫结构来阐明的。在本系列文章中,笔者极力从简到难,简明地介绍爬虫的各种要素,怎么样快速编写对自己有用的代码。可是对读者有必定小小的要求:看得懂python代码,然后自己能动手实践一些,除此之外,还要对html元素有必定的了解。
0×02 你能学到什么?
当然爬虫的文章在网上很简略找到,可是精美,体系地解说的文章仍是比较少,笔者在本文和往后的文章将介绍关于爬虫的各式各样的常识:
大致上,本文的写作次序是单机爬虫到分布式爬虫,功用完成到全体规划,从微观到微观。
1.    简略模块编写简略爬虫
2.    相对高雅的爬虫
3.    爬虫基本理论以及一般办法
4.    简略Web数据发掘
5.    动态web爬虫(能够处理js的爬虫)
6.    爬虫的数据存储
7.    多线程与分布式爬虫规划
假如有读者想找一些爬虫的入门书本来看,我引荐《web scraping with python》,这本书是英文版现在没有中文译著,可是网上有爱好者在翻译,有爱好的读者能够了解一下。
0×03 常识弥补
在这儿的常识弥补我其实是要简略介绍现在干流的几种爬虫编写用的模块:
Htmllib(sgmllib),这个模块是十分陈旧的一个模块,偏底层,实践便是简略解析html文档罢了,不支持搜索标签,容错性也比较差,这儿指的提示的是,假如传入的html文档没有正确完毕的话,这个模块是不会解析的,直到正确的数据传入或者说强行封闭。
BeautifulSoup,这个模块解析html十分专业,具有很好的容错性,能够搜索恣意标签,自带编码处理计划。
Selenium,主动化web测验计划处理者,相似BeautifulSoup,可是不一样的是,selenium自带了js解说器,也便是说selenium合作浏览器能够用来做动态网页的爬取,剖析,发掘。
Scrapy结构:一个专业的爬虫结构(单机),有相对完好的处理计划。
API爬虫:这儿大约都是需求付费的爬虫API,比方google,twitter的处理计划,就不在介绍。
笔者在文章中只会呈现前三种办法来做爬虫编写。
0×04 最简略的开端
最开端的一个比如,我将会先介绍最简略的模块,编写最简略的单页爬虫:
Urllib这个模块咱们这儿用来获取一个页面的html文档,详细的运用是,
Web = urllib.urlopen(url)
Data = Web.read()
要注意的是,这是py2的写法,py3是不一样的。
Smgllib这个库是htmllib的底层,可是也能够供给一个对html文本的解析计划,详细的运用办法是:
1.    自定义一个类,承继sgmllib的SGMLParser;
2.    复写SGMLParser的办法,增加自己自定义的标签处理函数
3.    经过自定义的类的目标的.feed(data)把要解析的数据传入解析器,然后自定义的办法主动收效。
import urllib
import sgmllib
 
class handle_html(sgmllib.SGMLParser):
       #unknown_starttag这个办法在恣意的标签开端被解析时调用
       #tag为标签名
       #attrs表明标签的参赛
   def unknown_starttag(self, tag, attrs):
       print "-------"+tag+" start--------"
       print attrs
       #unknown_endtag这个办法在恣意标签完毕被解析时被调用
   def unknown_endtag(self, tag):
       print "-------"+tag+" end----------"
 
web =urllib.urlopen("http://freebuf.com/")
web_handler = handle_html()
#数据传入解析器
web_handler.feed(web.read())
短短十几行代码,最简略的单页面爬虫就完成了,以下是输出的作用。咱们能够看到标签开端和完毕都被标记了。然后一起打印出了每一个参数。

接下来咱们能够运用这种底层的解析办法来做个根底的小比如:
下面这个小比如在标签开端的时分查看标签中的attrs特点,解分出一切的参数的href特点,知道的读者都知道这基本是被一个爬虫的必经之路。
import urllib
import sgmllib
 
class handle_html(sgmllib.SGMLParser):
defunknown_starttag(self, tag, attrs):
       #这儿使用try与except来防止报错。
       #可是并不引荐这样做,
       #关于这种小脚本尽管无伤大雅,可是在实践的项目处理中,
#这种做法存在很大的危险
       try:
           for attr in attrs:
                if attr[0] == "href":

[1] [2] [3]  黑客接单网

扫描二维码推送至手机访问。

版权声明:本文由黑客接单发布,如需转载请注明出处。

本文链接:https://therlest.com/106654.html

分享给朋友:

“Python爬虫开发(一):零根底入门” 的相关文章

天猫双十一活动什么时候开始华流

以前提到双十一那都是光棍才过的节日,而现在双十一摇身一变成了全民购物狂欢节。在双十一期间以淘宝天猫为主的购物平台都会推出各种优惠活动以及满减折扣,可以算得上是全年最便宜的时候了。那么天猫双十一活动什么时候开始呢?下面就跟百思特小编来详细了解一下2020年天猫双十一开始时间吧!...

美团暗语「美团暗语2021」

 昨天,很多网友问小编美团暗语最好的方法是什么?有关美团暗语2021最好的方法是哪种?最新美团暗语2020?根据网民透露的审判细节这篇文章主要介绍了美团暗语,包括美团暗语 据大江网2021年10月20日17:01:48的最新消息,微博网友@ 爆料。 平安夜来临之际,事件,在网上炒得沸沸扬扬,引发全...

接单的黑客_可以找黑客黑美团吗

有在网络安全范畴中,猜测网络违法和歹意软件发展趋势好像现已成为了各大网络安全公司的传统了。 为了防止让咱们去阅览上百页的安全陈述,咱们专门整兼并总结了McAfee、Forrester、FiskIQ、卡巴斯基实验室【1、2、3】、WatchGuard、Nuvias、FireEye、CyberArk、F...

黑客了解,中国黑客越南网络apt,黑客网站密码破解工具

6.42 · hxxp[://]offlineearthquake[.]com/file//?id=&n=000 进程三:使命履行及实时数据剖析10.61 2019年6月19日,FireEye Endpoint Security设备上收到了缝隙检测警报。 违规应用程序被辨认为Microso...

Webshell安全检测篇

0x00 依据流量的检测办法 1.概述 笔者一直在重视webshell的安全剖析,最近就这段时刻的心得体会和咱们做个共享。 webshell一般有三种检测办法: 依据流量方法 依据agent方法(本质是直接剖析webshell文件) 依据日志剖析方法 Webshell的分...

如何查询酒店开房记录?谁可以查?网上怎么查?

关于酒店开房记录,这个基本上是看不到的,只有公检法系统(主要是公安局)才能查询的。如果你真想查询,要提供相关真实的身份证明,到公安局咨询,可能需要繁琐的手续。 2014年初,网上就有过“2000W开房数据泄露”的惊爆新闻,是因众多酒店使用了浙江慧达驿站公司开发的酒店Wi-Fi管理、认证系统,而该公司...

评论列表

离鸢各空
2年前 (2022-07-05)

解析html十分专业,具有很好的容错性,能够搜索恣意标签,自带编码处理计划。Selenium,主动化web测验计划处理者,相似BeautifulSoup,可是不一样的是,selenium自带了js解说器,也便是说selenium合

嘻友二囍
2年前 (2022-07-05)

章,你就能够编写爬虫去对FreeBuf的文章进行搜索,解析。比方你想取得淘宝某类产品的价格,你能够编写爬虫主动搜索某类产品,然后获取信息,得到自己想要的成果,每天守时爬一下自己就能够决定在什么时分贱价

鸠骨庸颜
2年前 (2022-07-05)

1] [2] [3]  黑客接单网

蓝殇尢婠
2年前 (2022-07-05)

示的是,假如传入的html文档没有正确完毕的话,这个模块是不会解析的,直到正确的数据传入或者说强行封闭。BeautifulSoup,这个模块解析html十分专业,具有很好

俗野诤友
2年前 (2022-07-05)

够了解一下。0×03 常识弥补在这儿的常识弥补我其实是要简略介绍现在干流的几种爬虫编写用的模块:Htmllib(sgmllib),这个模块是十分陈旧的一个模块,偏底层,实践便是简略解

发表评论

访客

◎欢迎参与讨论,请在这里发表您的看法和观点。