目前還處于不明確的蠻荒階段,“允許哪些行為”這種基本秩序還處于建設(shè)中。
至少目前來看,如果抓取的數(shù)據(jù)為個(gè)人所用,則不存在問題;如果數(shù)據(jù)用于轉(zhuǎn)載,那么
抓取數(shù)據(jù)的類型就很重要了:一般來說,當(dāng)抓取的數(shù)據(jù)是實(shí)現(xiàn)生活中的真實(shí)數(shù)據(jù)(比如,營業(yè)地址,電話清單)時(shí),是允許轉(zhuǎn)載的,但是,如果是原創(chuàng)數(shù)據(jù)(比如,意見或評論),通常就會受到版權(quán)限制,而不能轉(zhuǎn)載。
討論:百度爬蟲抓取數(shù)據(jù)行為的合法性問題。
**注意:不管怎么樣,作為一個(gè)訪客,應(yīng)當(dāng)約束自己的抓取行為,這就是說要求下載請求的速度需要限定在一個(gè)合理值之內(nèi),并且還需要設(shè)定一個(gè)專屬的用戶代理來標(biāo)識自己。
網(wǎng)站的背景調(diào)研對聚焦的網(wǎng)絡(luò)爬蟲而言至關(guān)重要,正所謂:知己知彼,百戰(zhàn)不殆。
Robots協(xié)議(也稱為爬蟲協(xié)議、機(jī)器人協(xié)議等)的全稱是“網(wǎng)絡(luò)爬蟲排除標(biāo)準(zhǔn)”(Robots Exclusion Protocol),網(wǎng)站通過Robots協(xié)議告訴搜索引擎哪些頁面可以抓取,哪些頁面不能抓取。
?????? 比如:
淘寶網(wǎng):https://www.taobao.com/robots.txt
???????? 再比如:
https://www.douban.com/robots.txt
搜索引擎和DNS解析服務(wù)商(如DNSPod等)合作,新網(wǎng)站域名將被迅速抓取。但是搜索引擎蜘蛛的爬行是被輸入了一定的規(guī)則的,它需要遵從一些命令或文件的內(nèi)容,如標(biāo)注為nofollow的鏈接,或者是Robots協(xié)議。另外一種則是,通過網(wǎng)站的站長主動(dòng)對搜索引擎提交網(wǎng)站的網(wǎng)址,搜索引擎則會在接下來派出“蜘蛛”,對該網(wǎng)站進(jìn)行爬取。
sitemap是一個(gè)網(wǎng)站所有鏈接的容器。很多網(wǎng)站的連接層次比較深,蜘蛛很難抓取到,網(wǎng)站地圖可以方便搜索引擎蜘蛛抓取網(wǎng)站頁面,通過抓取網(wǎng)站頁面,清晰了解網(wǎng)站的架構(gòu),網(wǎng)站地圖一般存放在根目錄下并命名為sitemap,為搜索引擎蜘蛛指路,增加網(wǎng)站重要內(nèi)容頁面的收錄。網(wǎng)站地圖就是根據(jù)網(wǎng)站的結(jié)構(gòu)、框架、內(nèi)容,生成的導(dǎo)航網(wǎng)頁文件。大多數(shù)人都知道網(wǎng)站地圖對于提高用戶體驗(yàn)有好處:它們?yōu)榫W(wǎng)站訪問者指明方向,并幫助迷失的訪問者找到他們想看的頁面。????
網(wǎng)站地圖sitemap有兩種形式:
A.HTML:稱為HTML版本的網(wǎng)站地圖,英文是sitemap,特質(zhì)HTML版網(wǎng)站地圖,這個(gè)版本的網(wǎng)站地圖就是用戶可以在網(wǎng)站上看到的,列出網(wǎng)站上所有主要頁面的鏈接的頁面。對小網(wǎng)站來說,甚至可以列出整個(gè)網(wǎng)站的所有頁面,對于具有規(guī)模的網(wǎng)站來說,一個(gè)網(wǎng)站地圖不可能羅列所有的頁面鏈接,可以采取兩種辦法,一種辦法是網(wǎng)站地圖只列出網(wǎng)站最主要的鏈接,如一級分類,二級分類,第二種辦法是將網(wǎng)站地圖分成幾個(gè)文件,主網(wǎng)站地圖列出通往次級網(wǎng)站的鏈接,次級網(wǎng)站地圖在列出一部分頁面鏈接。
B.XML:XML版本的網(wǎng)站地圖是由Google首先提出的,怎么區(qū)分了,上面所說的HTML版本的s是小寫的,而XML版本的S則是大寫的,XML版本的網(wǎng)站地圖是由XML標(biāo)簽組成的,文件本身必須是utf8編碼,網(wǎng)站地圖文件實(shí)際上就是列出網(wǎng)站需要被收錄的頁面的URL,最簡單的網(wǎng)站地圖可以是一個(gè)純文本件,文件只要列出頁面的URL,一行列一個(gè)URL,搜索引擎就能抓取并理解文件內(nèi)容。
可以使用這個(gè)網(wǎng)站工具來生成某網(wǎng)站的sitemap: www.sitemap-xml.org
可以使用搜索引擎來做,比如在百度中使用site:
說明:這里只是通過百度搜索引擎大致來估算網(wǎng)站的大小,受到網(wǎng)站本身對搜索引擎爬蟲的限制,及搜索引擎本身爬取數(shù)據(jù)技術(shù)的限制,所以這只是一個(gè)經(jīng)驗(yàn)值,可以作為估算網(wǎng)站體量量級的一個(gè)經(jīng)驗(yàn)值。
為了更好的了解網(wǎng)站,抓取該網(wǎng)站的信息,我們可以先了解一下該網(wǎng)站大致所使用的技術(shù)架構(gòu)。
安裝builtwith :??
Windows: pip install bulitwith
Linux:???? sudo pip install builtwith
使用:在Python交互環(huán)境下,輸入:
import builtwith
builtwith.parse("http://www.sina.com.cn")
有時(shí)候,我們需要知道網(wǎng)站的所有者是誰,這里在技術(shù)上有個(gè)簡單的方法可以參考。
安裝python-whois :??
Windows: pip install python-whois
使用:在Python交互環(huán)境下,輸入:
import whois
whois.whois("http://www.sina.com.cn")
聯(lián)系客服