一个简单的爬虫架构由爬虫调度端、URL管理器、网页下载器和网页解析器四部分构成。它们之间的关系如下图:
● 爬虫调度端:启动爬虫,停止爬虫,监视爬虫的运行情况。
● URL管理器:管理待爬取的URL和已爬取的URL。
● 网页下载器:将URL指定的网页下载下来,并存储为一个字符串。
● 网页解析器:将下载好的字符串进行解析,解析的结果分为两部分,一部分为我们需要的价值数据,另一部分为新的待爬取的URL。
网页下载器:
在Python爬虫中广泛使用urllib进行网页的读取下载,urllib是Python的标准库(就是说你不用额外安装就可以在Python编译器中运行),它包含了从网络请求数据,处理cookie。甚至改变请求头和用户代理这些元数据的函数。
在Python2.x中一般使用urllib2库,而在Python3.x中,urllib2改名为urllib.并且把urllib库细分为了三个子模块:urllib.request、urllib.parse和urllib.error.在使用urllib库时需要注意哪些函数在哪个子模块内。实例代码如下:(在Python3.x中)
第一行表示从urllib库的request模块中导入urlopen函数(urlopen函数即是最常用的网页下载器)。第二行指定待抓取的URL为百度首页“http://www.baidu.com”。第三行表示利用urlopen函数读取指定的网页内容并传给对象html。第四行表示利用.getcode()方法来判断urlopen是否成功读取网页,如果输出为200,则读取成功。第五行表示输出指定网页的字符串长度。运行结果如下:
200表示读取网页成功,百度首页的字符串的长度为111523。我们学习编程的第一步是找到自己想要钻研的语言,第二步就是找到适合自己的一款编辑器。对于Python的学习,我建议使用Python的集成开发环境(IDE):PyCharm。PyCharm是一种Python IDE,带有一整套可以帮助用户在使用Python语言开发时提高其效率的工具,比如调试、语法高亮、Project管理、代码跳转、智能提示、自动完成、单元测试、版本控制。此外,该IDE提供了一些高级功能,以用于支持Django框架下的专业Web开发。
PyCharm的下载地址:https://www.jetbrains.com/pycharm/download/
Pycharm有两个版本:专业版和社区版。社区版是免费的,功能是简化了的,不支持专业Web开发。专业版支持所有功能但是要收费。可以免费使用一个月,不过我们可以在强大的度娘上轻松找到注册码进行激活。
每天学习一点点,每天进步一点点
网友评论