python urllib dns 缓存_新手用Python做一个网页爬虫

e3dce8c1a3fe411d06455f26550be8dd.png

fb0aa0d7a66e37b539bfa5326784f65c.png

咱们好哈,最近博主在学习Python,学习时期也遇到一些问题,获得了一些经历,在此将自个的学习体系地整理下来,假如咱们有爱好学习爬虫的话,能够将这些文章作为参阅,也期待咱们总共同享学习经历。

首要python爬虫是啥?

网络爬虫(又被称为页面蜘蛛,网络机器人,在FOAF社区中心,更常常的称为页面追逐者),是一种按照必定的规矩,主动的抓取万维网信息的程序或许脚本。

根据我的经历,要学习Python爬虫,咱们要学习的共有以下几点:

  • Python根底常识
  • Python中urllib和urllib2库的用法
  • Python正则表达式
  • Python爬虫结构Scrapy
  • Python爬虫更高档的功用

1. Python根底学习

首要,咱们要用Python写爬虫,肯定要了解Python的根底吧,万丈高楼平地起,不能忘啦那地基,哈哈,那么我就同享一下自个从前看过的一些Python教程,小伙伴们能够作为参阅。

学习地址http://www.pythonzxw.com

1) 慕课网Python教程

从前有一些根底的语法是在慕课网上看的,上面附有一些操练,学习完以后能够作为操练,感受作用仍是蛮不错的,不过略微惋惜的是内容根本上都是最根底的,入门开端的话,就这个吧

2) 廖雪峰Python教程

后来,我发现了廖老师的Python教程,讲的那是十分通俗易懂哪,感受也是十分不错,咱们假如想进一步了解Python就看一下这个吧。

3) 简明Python教程

还有一个我看过的,简明Python教程,感受讲的也不错

学习网址:简明Python教程

2. Python urllib和urllib2 库的用法

urllib和urllib2库是学习Python爬虫最根本的库,利用这个库咱们能够得到页面的内容,并对内容用正则表达式获取剖析,得到咱们想要的成果。这个在学习进程中我会和咱们同享的。

3. Python 正则表达式

Python正则表达式是一种用来匹配字符串的强有力的兵器。它的设计思维是用一种描述性的言语来给字符串定义一个规矩,凡是契合规矩的字符串,咱们就以为它“匹配”了,否则,该字符串即是不合法的。这个在后面的博文会同享的。

4. 爬虫结构Scrapy

假如你是一个Python高手,根本的爬虫常识都现已把握了,那么就寻找一下Python结构吧,我选择的结构是Scrapy结构。这个结构有啥强壮的功用呢?下面是它的官方介绍:

  • HTML, XML源数据 选择及获取 的内置支撑
  • 供给了一系列在spider之间同享的可复用的过滤器(即 Item Loaders),对智能处理爬取数据供给了内置支撑。
  • 经过 feed导出 供给了多格局(JSON、CSV、XML),多存储后端(FTP、S3、本地文件体系)的内置支撑
  • 供给了media pipeline,能够 主动下载 爬取到的数据中的图像(或许别的资本)。
  • 高拓展性。您能够经过运用 signals ,设计好的API(中心件, extensions, pipelines)来定制完成您的功用。
  • 内置的中心件及拓展为下列功用供给了支撑:
cookies and session 处理
HTTP 紧缩
HTTP 认证
HTTP 缓存
user-agent模仿
robots.txt
爬取深度限制
对于非英语语系中不规范或许过错的编码声明, 供给了主动检查以及健壮的编码支撑。
  • 支撑根据模板生成爬虫。在加快爬虫创立的同时,保持在大型项目中的代码更为共同。具体内容请参阅 genspider 指令。
  • 对于多爬虫下性能评价、失利检查,供给了可拓展的 状况搜集工具 。
  • 供给 交互式shell终端 , 为您测验XPath表达式,编写和调试爬虫供给了极大的便利
  • 供给 System service, 简化在出产环境的布置及运转
  • 内置 Web service, 使您能够监督及操控您的机器
  • 内置 Telnet终端 ,经过在Scrapy进程中钩入Python终端,使您能够检查而且调试爬虫
  • Logging 为您在爬取进程中捕捉过错供给了便利
  • 支撑 Sitemaps 爬取
  • 具有缓存的DNS解析器

官方文档:http://doc.scrapy.org/en/latest/

等咱们把握了根底的常识,再用这个 Scrapy 结构吧!

扯了这么多,如同没多少有用的东西额,那就不扯啦!

下面开端咱们正式进入爬虫之旅吧!

Python爬虫入门(2):爬虫根底了解

1. 啥是爬虫

爬虫,即网络爬虫,咱们能够了解为在网络上爬行的一向蜘蛛,互联网就比作一张大网,而爬虫即是在这张网上爬来爬去的蜘蛛咯,假如它遇到资本,那么它就会抓取下来。想抓取啥?这个由你来操控它咯。

比方它在抓取一个页面,在这个网中他发现了一条路途,本来即是指向页面的超链接,那么它就能够爬到另一张网上来获取数据。这么,全部连在一起的大网对这之蜘蛛来说触手可及,分分钟爬下来不是事儿。

2. 阅读页面的进程

在用户阅读页面的进程中,咱们可能会看到很多美观的图像,比方 http://image.baidu.com/ ,咱们会看到几张的图像以及baidu查找框,这个进程本来即是用户输入网址以后,经过DNS效劳器,找到效劳器主机,向效劳器发出一个恳求,效劳器经过解析以后,发送给用户的阅读器 HTML、JS、CSS 等文件,阅读器解析出来,用户便能够看到五花八门的图像了。

因而,用户看到的页面实质是由 HTML 代码构成的,爬虫爬来的即是这些内容,经过剖析和过滤这些 HTML 代码,完成对图像、文字等资本的获取。

3. URL的含义

URL,即一致资本定位符,也即是咱们说的网址,一致资本定位符是对能够从互联网上得到的资本的方位和拜访办法的一种简练的表明,是互联网上规范资本的地址。互联网上的每个文件都有一个仅有的URL,它包含的信息指出文件的方位以及阅读器应当怎样处理它。

URL的格局由三有些构成:

①第一有些是协议(或称为效劳方法)。

②第二有些是存有该资本的主机IP地址(有时也包含端口号)。

③第三有些是主机资本的具体地址,如目录和文件名等。

爬虫爬取数据时有必要要有一个方针的URL才能够获取数据,因而,它是爬虫获取数据的根本根据,精确了解它的含义对爬虫学习有很大协助。

4. 环境的装备

学习Python,当然少不了环境的装备,开始我用的是Notepad++,不过发现它的提示功用实在是太弱了,所以,在Windows下我用了 PyCharm,在Linux下我用了Eclipse for Python,别的还有几款比较优秀的IDE,咱们能够参阅这篇文章 学习Python引荐的IDE 。好的开发工具是行进的推进器,期望咱们能够找到合适自个的IDE

想要一起学习python的朋友可以访问http://www.pythonzxw.com,群里有大量学习资料,还有大神解答问题

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值