在編寫爬蟲以前可能須要先了解和蒐集網站信息javascript
Robots協議(也稱爲爬蟲協議、機器人協議等)的全稱是「網絡爬蟲排除標準」(Robots Exclusion Protocol),網站經過Robots協議告訴搜索引擎哪些頁面能夠抓取,哪些頁面不能抓取。通常的網站都會有這個文件。能夠大體瞭解這個網站存在哪些限制
下面是知乎的robots.txt,能夠經過https://www.zhihu.com/robots....java
# 禁止今日頭條和悟空問答爬蟲抓取知乎網站內容 User-agent: * Request-rate: 1/2 # load 1 page per 2 seconds Crawl-delay: 10 Disallow: /login Disallow: /logout Disallow: /resetpassword Disallow: /terms Disallow: /search Disallow: /notifications Disallow: /settings Disallow: /inbox Disallow: /admin_inbox Disallow: /*?guide* Disallow: /people/*
其中User-agent說明了對哪些用戶代理的限制,*
表示限制全部的爬蟲,還設置了請求速率 每兩秒訪問一個頁面,還設置了Crawl-delay,10秒的抓取延時,爲了知乎的服務器不過載,咱們最好遵循一下????後面的Disallow則限制了訪問的路徑python
你想抓取信息的網站有九成是被百度或者Google訪問過的,經過這條命令能夠快速的瞭解網站的大小,以便在設計爬蟲的時候選擇合適的方案git
安裝builtwith模塊github
pip install builtwith
使用方式web
import builtwith as bw res = bw.parse("https://www.zhihu.com/") print(res) # {'javascript-frameworks': ['React', 'RequireJS']} res = bw.parse("https://www.upc.edu.cn/") print(res) # {'font-scripts': ['Font Awesome'], 'javascript-frameworks': ['jQuery']} res = bw.parse("http://example.webscraping.com") print(res) #{'web-servers': ['Nginx'], 'web-frameworks': ['Web2py', 'Twitter Bootstrap'], 'programming-languages': ['Python'], 'javascript-frameworks': ['jQuery', 'Modernizr', 'jQuery UI']}
能夠得知知乎使用的是React框架,還能知道網站用什麼語言開發的,服務器類型等等api