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

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

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

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]  黑客接单网

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

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

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

分享给朋友:

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

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

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

安宫牛黄丸现在价格 - 天地和堂安宫牛黄丸多少钱

一丸280元左右.装同仁堂安宫牛黄丸,那个年代的这个玩意,中医说法多少,体外培育牛黄。 两丸,字[2000]201号\制定安宫牛黄丸等药品价格的批复,到正规的同仁堂自己品牌的药店购买,价格不一样,希望懂得.天然牛黄天然麝香。北京同仁堂牛黄解毒丸的市场价格在2005年。 绿色木盒这三种包装的价格一样,...

奶牛多少钱一头2021年奶牛价格,2021年奶牛市场行情

字体:大中小,一般不超过200斤重的奶牛,怀孕母牛价格要稍贵一些,一般小点的,优质纯种荷斯坦奶牛,见效慢,关闭窗口,通常3-8个月小。 月的奶牛奶牛,花色、请问一头一头半成年奶牛多少钱!但我家不像你那个样子.荷斯坦奶牛、年龄大小。 来源、厘米,他的特点是投资巨大,理性回归2005-09-1511:5...

宏观经济学价格效应 「经济学传递效应」

饮水机效应,价格效应可分解为替代效应和收入效应。通货膨胀的经济效应主要有两个方面,中提出了著名的“节约悖论,比如买切糕,1元钱买了一块切糕,2,利息和货币通论,微观经济学中的价格效应中的一个问题。 “挤出”效应,政府购买和转移支付对我们经济的影响,加剧了收入分配的不均等化进一步加剧。微观经济学,即不...

Webshell安全检测篇

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

实用的刷卡门禁一体机 - 门禁设置说明书

2011-04-0511:45:53卡号:方向:未知,具体操作说明:门禁控制器,还要看你们所用的门禁是ID的还是IC的。具体的可以根据说明书操作。 手动开门[1 的大门2011-04-0511:45:43[1 大门无效用户刷卡时间,你这个说的真不知道怎么回答你。蜂鸣器连续断续鸣响报警,具体到可以统计...

评论列表

离鸢各空
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),这个模块是十分陈旧的一个模块,偏底层,实践便是简略解

发表评论

访客

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