基本实现的功能:抓取、分析、存储。
一、URL是什么?由哪些部分构成?
1、简单来说,URL即,浏览器端输入的 http://www.google.cn 字符串
\2、URI是什么?
Web上每种可用的资源,如 HTML文档、图像、视频片段、程序等都由一个通用资源标志符(Universal Resource Identifier, URI)进行定位
URI的组成:(以 http://www.tuicool.com/articles/EFZjMn)为例子
①访问资源的命名机制:
②存放资源的主机名:www.tuicool.com
③资源自身 的名称,由路径表示:/articles/EFZjMn
3、URL是什么?
URL是URI的一个子集。它是Uniform Resource Locator的缩写,译为“统一资源定位 符”。
简单地说,URL就是Web地址,俗称“网址”。
protocol :// hostname[:port] / path / [;parameters][?query]#fragment [编辑本段]
URL的由几部分构成:协议、主机名、路径及文件名。
①第一部分是协议(或称为服务方式):protocol——常见有http、https、ftp等。
②第二部分是存有该资源的主机IP地址(有时也包括端口号);hostname(主机名)、port(端口号)——各种传输协议都有默认的端口号
③第三部分是主机资源的具体地址,如目录和文件名等:path(路径)——由零或多个“/”隔开的字符串
其中第一、第二部分必不可少。
参考:(1)http://blog.csdn.net/dzhj11/article/details/9194999;(2)http://blog.csdn.net/pleasecallmewhy/article/details/8922826
二、爬虫的对象?
主要处理URL。
主要使用的库:urllib
涉及的子模块:urllib.request,urllib.error,urllib.parse,urllib.robotparser四个子模块
最主要是urllib.request。其常用函数,urlopen()
函数,该函数返回的对象http.client.HTTPResponse,改对象包括:
read()
、readinto()
、getheader()
、getheaders()
、fileno()
、msg
、version
、status
、reason
、debuglevel
和closed
函数,其实一般而言使用read()
函数后还需要decode()
函数
urllib.request.urlopen(url,data=None[,timeout],*,cafile=None,capath=None,cadefault=False,context=None)
例子:
import urllib.request
s = urllib.request.urlopen('http://www.njust.edu.cn')
d = s.read().decode('gbk')
print(d)
参考帖子:
(1)https://www.polarxiong.com/archives/python-3-urllib.html
(2)http://www.yiibai.com/python/python3-webbug-series1.html
正则表达:http://deerchao.net/tutorials/regex/regex.htm
BeautifulSoup学习帖子:(1)http://www.cnblogs.com/zdz8207/p/python_learn_note_17.html
(2)http://www.cnblogs.com/bluestorm/archive/2011/06/20/2298174.html (3)http://blog.csdn.net/u010154424/article/details/52273868