在初步了解到正規表示式之後,今天我們學習一下關於爬蟲的理論及最基本的爬去!
使用爬蟲的**語句,通常要用到如下幾個模組
from urllib import request
from urllib.request import urlopen
from urllib.parse import urlencode
獲取某個**元素
url = ''
url = ''
# 呼叫request類的urlopen函式開啟某個位址
res = request.urlopen(url)
html = res.read().decode('utf-8')
print(html)
請求的方式(get ,post)
req = request.request('')
res = urlopen(req)
print(res.read().decode('utf-8'))
# get_method 得到此次請求的方式(get或者post)
print(req.get_method())
# data被宣告成了乙個@property屬性
# 用於向請求中新增是資料或者獲取資料
req.data = 'name=zhangsan&password=123'
print('此次請求方式為:',req.get_method())
urlencode()函式
# urlencode函式可以將字典物件轉化為查詢字串
# 每一對鍵值之間用&連線,可以實現中文編碼
# 因為url位址中不允許出現中文,必須經過編碼才能實現
url = ''
args = urlencode(user_dict)
print(type(args))
print(args)
通常http訊息包括客戶機向伺服器的請求訊息和伺服器向客戶機的響應訊息。這兩種型別的訊息由乙個起始行,乙個或者多個頭域,乙個只是頭域結束的空行和可 選的訊息體組成。http的頭域包括通用頭,請求頭,響應頭和實體頭四個部分。每個頭域由乙個網域名稱,冒號(:)和域值三部分組成。網域名稱是大小寫無關的,域 值前可以新增任何數量的空格符,頭域可以被擴充套件為多行,在每行開始處,使用至少乙個空格或製表符。
常用語法
# urllib設定請求頭
from urllib.request import request,urlopen
url = ''
# 引數二:設定請求頭
req = request(url,headers=)
res = urlopen(req)
print(res.read().decode('utf-8'))
#1.判斷user-agent是否是一python開頭的,如果是就禁止訪問
# 2.並判斷乙個頻繁請求是不是同乙個ip發出的,這時候伺服器會限制
# 解決方法:使用**ip
#########爬蟲********************=
1,概念
自動批量獲取**資料的程式
2,爬蟲的目的
1)。獲取資料,用於填充公司資料庫
2)。通過爬蟲資料製作搜尋引擎
3)。通過爬蟲資料進行資料採集和分析
***************===反爬蟲***************
乙個簡單的設定請求頭訪問**的操作
from urllib.request import request,urlopen今天簡單了解一下基礎,明天繼續加油幹!url = ''
req = request(url,headers=)
res = urlopen(req)
print(res.read().decode('utf-8'))
爬蟲 基礎理論知識(一)
4.所有的目標url全部請求完畢,爬蟲結束 搜尋引擎需要遵守robot協議 搜尋引擎的缺點 b.搜尋引擎搜尋的結果千篇一律,沒有辦法根據特定的使用者,獲取特定的資料 c.搜尋引擎搜尋結果99 並沒用 目的 實現不同的系統互聯之間的資料通訊,實現資料的傳輸 2.表示層 3.會話層 4.傳輸層 5.網路...
軟體測試之基礎理論
思維導圖 一.軟體開發模型 1.瀑布模型 線性模型的一種 需求分析 設計 psd,美工 編碼 實現 軟體測試 完成 維護 優點 缺點 改良 每個階段融入小的設計迭代階段 2.快速原型模型 快速分析 需求說明 構造原型 原型 執行原型 實現乙個基本原型,讓使用者對原型進行評價,逐步調整,使其滿足使用者...
基礎理論(四)
1.簡述python中物件的記憶體是如何管理的 2.簡述類和物件的概念及類繼承的特點 3.簡述python如何操作 mysql,用到什麼包 寫出具體的增刪改查語句 4.簡述scrapy爬蟲的資料流向過程 5.網路七層協議都是哪七層?6.scrapy中如何設定隨機請求頭 隨機 寫出具體步驟 需要什麼配...