Python---網絡爬蟲初識


1. 網絡爬蟲介紹

來自wiki的介紹:html

網絡爬蟲(英語:web crawler),也叫網上蜘蛛(spider),是一種用來自動瀏覽萬維網的網絡機器人。python

可是咱們在寫網絡爬蟲時還要注意遵照網絡規則,這樣才能是我麼使咱們更好的利用其中的資源web

爬蟲訪問網站的過程會消耗目標系統資源。很多網絡系統並不默許爬蟲工做。所以在訪問大量頁面時,爬蟲須要考慮到規劃、負載,還須要講「禮貌」。 不肯意被爬蟲訪問、被爬蟲主人知曉的公開站點可使用robots.txt文件之類的方法避免訪問。這個文件能夠要求機器人只對網站的一部分進行索引,或徹底不做處理。正則表達式

雖然robots.txt只是一種網站主人對爬蟲爬取的一種聲明,可是博主但願你們能夠遵照。數據庫

2. 爬蟲流程

在此以後咱們所用的都是python3.x,python2.x的另找其餘。python3.x

基本流程:瀏覽器

  1. 使用request庫獲取目標url的html文檔
  2. 使用瀏覽器打開網頁源代碼分析其中的元素節點
  3. 經過Beautiful Soup庫或正則表達式得到想要的數據
  4. 將數據保存到本地或者數據庫

3. requests庫的安裝

在cmd中,經過以下指令安裝:網絡

pip install requests

在pythonzh檢驗是否安裝成功ide

import requests

介紹:svg

適合於人類使用的HTTP庫,封裝了許多繁瑣的HTTP功能,極大地簡化了HTTP請求所須要的代碼量

基本用法:

方法 說明
requests.request() 構造一個請求,支撐一下各方法的基礎方法
requests.get() 獲取HTML網頁的主要方法,對應HTTP的GET
requests.head() 獲取HTML網頁頭的信息方法,對應HTTP的HEAD
requests.post() 向HTML網頁提交POST請求方法,對應HTTP的POST
requests.put() 向HTML網頁提交PUT請求的方法,對應HTTP的RUT
requests.patch() 向HTML網頁提交局部修改請求,對應於HTTP的PATCH
requests.delete() 向HTML頁面提交刪除請求,對應HTTP的DELETE

requests中文文檔

requests在使用的時候有什麼忘了或者須要更高級的用法能夠去查中文文檔,這是requests庫的開發者爲咱們使用者提供的便利,感謝開發者!

咱們使用requests.get()來作一個簡單的例子,咱們在這爬取一下百度(www.baidu.com)的html頁面

#-*- coding:UTF-8 -*-
import requests

if __name__ == '__main__':
    target = 'https://www.baidu.com/'
    req = requests.get(url = target)
    print(req.text)

是否是很簡單。。。

相關文章
相關標籤/搜索