爬蟲 第二次入坑 基本流程

2022-06-30 15:54:18 字數 2422 閱讀 4382

1.爬蟲的基本流程

傳送請求---》獲取相應內容---》解析內容---》儲存資料

1

#1、發起請求

2使用http庫向目標站點發起請求,即傳送乙個request

3request包含:請求頭、請求體等45

#2、獲取響應內容

6如果伺服器能正常響應,則會得到乙個response78

9#3、解析內容

10解析html資料:正規表示式,第三方解析庫如beautifulsoup,pyquery等

11解析json資料:json模組

12解析二進位制資料:以b的方式寫入檔案

1314

#4、儲存資料

15資料庫

16 文

1

#http協議:

#request:使用者將自己的資訊通過瀏覽器(socket client)傳送給伺服器(socket server)45

#response:伺服器接收請求,分析使用者發來的請求資訊,然後返回資料(返回的資料中可能包含其他鏈結,如:,js,css等)67

#ps:瀏覽器在接收response後,會解析其內容來顯示給使用者,而爬蟲程式在模擬瀏覽器傳送請求然後接收response後,是要提取其中的有用資料。

request

1和2只是在response處有所不同

1是先把url後面的分組處理了下,然後字串拼接成url,2是直接把分組的值放到params這個字典裡。其它地方都一樣。結果也一樣。

1

import

requests

2from urllib.parse import

urlencode

34 kwords = input('

please input keywords:>>

').strip()

5 res = urlencode()

6print(res) #

wd=%e5%b0%8f%e7%8b%97

7 url = '

' +res

8print(url) #

wd=%e5%b0%8f%e7%8b%97

910 response =requests.get(

11url,

12 headers=,

1718

)19 with open('

a.html

','w

',encoding = '

utf-8

') as f:20#

f.write(response.text)把獲得的響應體寫入到檔案中

21print

(f.write(response.text))

2223

print(response.status_code)

示例一

1 kwords = input("

請輸入關鍵字:>>

").strip()

2 response =requests.get(3"

",4#

5 params=,9#

請求頭10 headers=,13)

14 with open("

b.html

","w

",encoding="

utf-8

") as f:

15f.write(response.text)16#

print(response.status_code)

1718 示例**二(和上面的結果是一樣的)

示例二response

1

#1、響應狀態

2 200:代表成功

3 301:代表跳轉

4 404:檔案不存在

5 403:許可權

6 502:伺服器錯誤78

#2、respone header

9location:跳轉

10 set-cookie:可能有多個,是來告訴瀏覽器,把cookie儲存下來

1112

#3、preview就是網頁源**

13最主要的部分,包含了請求資源的內容

14如網頁html,

15 二進位制資料等

總結

1

#1、總結爬蟲流程:

2 爬取--->解析--->儲存34

#2、爬蟲所需工具:

5請求庫:requests,selenium

6解析庫:正則,beautifulsoup,pyquery

7儲存庫:檔案,mysql,mongodb,redis89

#3、爬蟲常用框架:

10 scrapy

git 第二次提交 第二次作業 git的基本操作

1 配置使用者名稱命令 git config global user.name xbk 2 配置郵箱命令 git config global user.email 1024669884 qq.com 二 建立本地版本倉庫 1 選擇乙個合適的地方,新建乙個空的資料夾。2 通過git init命令把這個...

第二次作業

execise02 1.查詢85年以後出生的學生姓名 性別和出生日期 2.列表顯示所有可能的學生選課組合 學號 課程號 3.查詢1 2 4班中陳姓同學的資訊 4.查詢所有及格的學生姓名 所選課程名及所得分數 5.統計各門課程的及格人數 課程編號 課程名 及格人數 6.統計各門課程的總人數 及格人數和...

第二次約會

第一次看來我沒把人家姑娘嚇壞,一周後的乙個星期一晚上,我迎來了和t第二次見面機會,那天我發了一條簡訊給t,今天晚上我們去外灘逛逛吧 t快下班的時候給我打了個 當時t和她的小朋友們都還在教室裡,t很爽快的答應我的邀請,並且叫他們班所有的 學生異口同聲在 的那端大聲叫 叔叔好!當時差點沒把我耳朵震聾,呵...