基本實現的功能:抓取、分析、存儲。
一、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