日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 >

《爬虫与网络编程基础》学习

發(fā)布時間:2025/4/5 29 豆豆
生活随笔 收集整理的這篇文章主要介紹了 《爬虫与网络编程基础》学习 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

《爬蟲與網(wǎng)絡(luò)編程基礎(chǔ)》學(xué)習(xí)

    • 任務(wù)1:計算機(jī)網(wǎng)絡(luò)基礎(chǔ)
      • Step1-2
      • Step 3:關(guān)于XML格式的學(xué)習(xí)
        • XML文件格式
        • XML文件的常見操作
          • 1.構(gòu)建xml格式文件
          • 2. 保存XML文件
          • 3.讀取XML文件 - 只讀操作,后續(xù)無法進(jìn)行操作
          • 4.解析XML文件 - 讀取操作,讀入一個xml對象,后續(xù)可以進(jìn)行操作
          • 5.獲取XML中的元素
          • 6.修改XML文件
      • Step 4:關(guān)于訪問某個網(wǎng)站所經(jīng)歷步驟的思考
        • 計網(wǎng)中TCP網(wǎng)絡(luò)模型
    • 任務(wù)2:HTTP協(xié)議與requests

任務(wù)1:計算機(jī)網(wǎng)絡(luò)基礎(chǔ)

Step1-2

創(chuàng)建一個list,將其轉(zhuǎn)換成json格式,并進(jìn)行讀寫操作

info = [['姓名','年齡','成績'],['小王',40,50],['小賈',50,23]] info import json filename = 'test1.json' with open(filename,'w') as f:json.dump(info,f)with open(filename,'r') as f:info2 = json.load(f) print(info2)

Step 3:關(guān)于XML格式的學(xué)習(xí)

XML文件格式

XML是一種結(jié)構(gòu)化、層級化的數(shù)據(jù)格式,最適合體現(xiàn)XML的數(shù)據(jù)結(jié)構(gòu)就是
ET提供了兩個對象:ElementTree將整個XML文檔轉(zhuǎn)化為樹,Element則代表著樹上的單個節(jié)點(diǎn)。對整個XML文檔的交互(讀取,寫入,查找需要的元素),一般是在ElementTree層面進(jìn)行的。對單個XML元素及其子元素,則是在Element層面進(jìn)行的。

對XML文件的格式做一些說明:

  • Tag: 使用<>包圍的部分,如:<表示:start-tag,>表示:end-tags;
  • Element:被Tag包圍的部分,如:68中的68,可以認(rèn)為是一個節(jié)點(diǎn),它可以有子節(jié)點(diǎn);
  • Attribute:在Tag中可能存在的name/value對,如中的name=”Liechtenstein”,一般表示屬性

使用時需要導(dǎo)入的第三方庫:
操作參考鏈接:官方文檔

# 導(dǎo)入第三方庫 import xml.etree.ElementTree as ET

XML文件的常見操作

1.構(gòu)建xml格式文件

使用到的函數(shù):
(1)root = ElementTree.Element(‘data’) # 用于創(chuàng)建一個元素root
(2)b = ElementTree.SubElement(root,‘b’) # 用于創(chuàng)建一個子元素b
(3)ElementTree對象的write方法完成XML文檔的構(gòu)建.

使用場景:
(1)先讀取一個XML文檔,進(jìn)行修改后,再將修改后的內(nèi)容寫入文檔。
(2)從頭創(chuàng)建一個XML文檔。

root = ET.Element('data') info = ET.SubElement(root,'info',{'name':'小王'}) age = ET.SubElement(info,'age') age.text = '40' score = ET.SubElement(info,'score') score.text = '50'info2 = ET.SubElement(root,'info',{'name':'小賈'}) age2 = ET.SubElement(info2,'age') age2.text = '50' score2 = ET.SubElement(info2,'score') score2.text = '23'tree = ET.ElementTree(root) tree.write('test1.xml')
2. 保存XML文件
tree=ET.ElementTree(root) # root為修改后的root tree.write(filePath)
3.讀取XML文件 - 只讀操作,后續(xù)無法進(jìn)行操作

使用函數(shù):
open(file_name).readlines() # 讀入所有行數(shù)據(jù)

open_file = open('test1.xml') read_file = open_file.readlines() #讀入所有行 print(read_file)
4.解析XML文件 - 讀取操作,讀入一個xml對象,后續(xù)可以進(jìn)行操作

使用場景:
(1)從文件中讀取xml文檔
(2)從字符串中讀取xml
使用樣例:
(1)從文件中讀入

# 1.從文件中讀取xml,并進(jìn)行解析操作 import xml.etree.ElementTree as ET file_xml = 'test1.xml' tree = ET.parse(file_xml) root = tree.getroot() print(root)# 2.從字符串中讀入 sample_as_string = open(file_xml).read() print(sample_as_string) root = ET.fromstring(sample_as_string) print(root)
5.獲取XML中的元素

tree和root是ElementTree中兩個很重要的類的對象:ElementTree和Element
(1)查看tag和屬性attribute:當(dāng)以解析XML文件的方式讀入一個xml文件后,得到的root是一個指向Element的對象,可以通過root.tag和root.attrib來分別查看root的tag和attrib。除此之外,還可以使用Element.get(AttributeName)來代替Element.attrib[AttributeName]來訪問。
(2)遞歸遍歷下面的所有子樹:Element.iter()
(3)Element.findall():找到當(dāng)前元素下直接子元素中帶有某個標(biāo)簽的元素。
(4)Element.find():找到第一個帶有特定標(biāo)簽的子元素。
(5)Element.text:查看Element的值或是訪問某個標(biāo)簽的內(nèi)容。
(6)Element.get():訪問標(biāo)簽的屬性值

6.修改XML文件

(1)修改Element:可直接訪問Element.text進(jìn)行修改,也可以修改Element.Attribute,也可以新增Element.set(‘AttributeName’,‘Value’)
(2)新增孩子節(jié)點(diǎn):Element.append(childElement)
(3)刪除孩子節(jié)點(diǎn):Element.remove(childElement)

Step 4:關(guān)于訪問某個網(wǎng)站所經(jīng)歷步驟的思考

計網(wǎng)中TCP網(wǎng)絡(luò)模型

計算機(jī)網(wǎng)絡(luò)基礎(chǔ)知識

  • URL(統(tǒng)一資源定位符) = “https://coggle.club/”
    協(xié)議部分https,域名coggle.club,其背后有一個對應(yīng)的IP地址,因此輸入URL后,瀏覽器要進(jìn)行域名解析(IP尋址)工作。
  • IP尋址過程,即DNS解析
    (1)如果最近有瀏覽過coggle.club這個網(wǎng)址,本地瀏覽器會有DNS緩存,可以直接找到IP地址
    (2)如果是首次登陸或很久沒有訪問過了,首先瀏覽器會在C盤中hosts文件中查看本地是否有存儲DNS信息;若無,從路由器緩存DNS中查找;網(wǎng)絡(luò)服務(wù)商的DNS緩存中查找;如果上述幾種方式都沒有找到,那么回去根域名DNS服務(wù)中查找目標(biāo)URL對應(yīng)的IP,根域名服務(wù)器會向下級服務(wù)器轉(zhuǎn)送請求,層層下發(fā),直到找到。
  • 找到目標(biāo)服務(wù)器的IP后發(fā)起請求。HTTP報文傳輸。
  • 目標(biāo)服務(wù)器接受到請求后會選擇某個模型進(jìn)行處理,根據(jù)業(yè)務(wù)邏輯處理并返回數(shù)據(jù),最后視圖會格式化模型返回的數(shù)據(jù)給客戶端瀏覽器,瀏覽器呈現(xiàn)網(wǎng)頁給用戶。
  • 瀏覽器操作:加載,解析,渲染DOM樹。
  • 任務(wù)2:HTTP協(xié)議與requests


    HTTP協(xié)議參考鏈接

  • HTTP請求和響應(yīng)的過程
    1)客戶端與Web服務(wù)器建立連接
    瀏覽器與web服務(wù)器的http端口建立TCP套接字(80端口)
    2)發(fā)送http請求
    通過TCP套接字,客戶端向WEB服務(wù)器發(fā)送一個文本的請求報文。
    3)服務(wù)器接受請求并返回響應(yīng)
    web服務(wù)器解析請求,定位請求資源。
    4)釋放TCP連接
    根據(jù)connection模式,close則服務(wù)器主動關(guān)閉TCP連接,客戶端被動關(guān)閉連接。
    若connection模式為keepalive,則連接會保持一段時間,在此段時間內(nèi)可以繼續(xù)接受請求。
    5)客戶端解析HTML的內(nèi)容
    客戶端瀏覽器首先解析狀態(tài)行,查看狀態(tài)碼判斷請求是否成功。然后解析響應(yīng)頭,分析后續(xù)字符集。客戶端瀏覽器讀取響應(yīng)數(shù)據(jù)HTML,

  • http 請求方法
    1) get 方法
    2)post 方法
    向指定資源提交數(shù)據(jù),請求服務(wù)器進(jìn)行處理。數(shù)據(jù)被包含在請求文本中。
    3)connect

  • HTTP中g(shù)et和post的區(qū)別
    1)get提交的數(shù)據(jù)會放在url的請求行里,以?分割URL和傳輸數(shù)據(jù) ,參數(shù)之間以&相連。post方法是把提交的數(shù)據(jù)放在HTTP包的請求體中。
    2)get提交的數(shù)據(jù)有大小限制,而post方法提交的數(shù)據(jù)沒有限制。
    3)get與post請求在服務(wù)端獲取請求數(shù)據(jù)方式不同。

  • 《新程序員》:云原生和全面數(shù)字化實踐50位技術(shù)專家共同創(chuàng)作,文字、視頻、音頻交互閱讀

    總結(jié)

    以上是生活随笔為你收集整理的《爬虫与网络编程基础》学习的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。

    主站蜘蛛池模板: 无码粉嫩虎白一线天在线观看 | aaa影院| 久久久精品在线 | 九九99视频| 成人污网站| 日韩欧美亚洲一区二区三区 | 天堂伊人网 | av成人在线免费观看 | 成人在线你懂的 | 国产无套内射普通话对白 | 欧美亚洲综合在线 | 精产国品一区二区三区 | 日韩欧美aⅴ综合网站发布 国产成人一区二区三区小说 | 手机在线一区二区三区 | 奇米在线播放 | 91毛片网| 森泽佳奈作品在线观看 | 国产成人啪免费观看软件 | 欧美激情综合色综合啪啪五月 | 天天射天天射 | 精品性久久 | 国产一二 | 精品福利一区 | 久久国内免费视频 | 一区二区视频免费 | 久久久久久片 | 二区三区 | 亚洲成人av一区二区三区 | 亚洲欧美国产视频 | 99re这里只有精品在线观看 | 日韩视频一区二区三区在线播放免费观看 | 先锋久久 | 欧美另类老妇 | 日韩黄色视屏 | 一区二区三区视频免费 | 第九色激情 | 日韩av片在线看 | 草久影院| 久久精品国产99久久久 | 午夜影音 | 国产亚洲一区二区三区 | 少妇又紧又色 | 久久99精品国产91久久来源 | 色综合天| 亚洲精品福利在线 | 黄色www视频| 中文字幕亚洲不卡 | 欧美中文字幕在线观看 | 天堂网91 | 亚洲a√| 狠狠干美女 | 免费视频污 | 欧美亚洲色综久久精品国产 | 亚洲乱色 | 男女操操视频 | 91日韩一区二区 | 亚洲国产欧美在线 | 中文有码av | 色姑娘天天操 | 已满18岁免费观看电视连续剧 | 国产免费福利视频 | 久久精品在这里 | 亚洲福利精品 | 国产高清一级 | 亚洲国产精彩中文乱码av | 欧美日韩国产亚洲一区 | 黄频在线播放 | 九九日韩 | 怡红院国产 | 中文日韩av| 日产久久视频 | 黄色一级大片在线免费看国产一 | 黄瓜视频色版 | 毛片毛片毛片毛片毛片 | www.成人网.com | 日在线视频 | 亚洲成人免费观看 | 91视频首页 | www夜插内射视频网站 | 99视频国产精品免费观看a | 97精品久久人人爽人人爽 | 婷婷的五月天 | 性高跟鞋xxxxhd国产电影 | 性猛交xxxx| 成人性色生活片 | 中文字幕在线观看网址 | 精品自拍视频在线观看 | 欧美绿帽合集videosex | 懂色av一区二区在线播放 | 免费国产一区 | 亚洲视频在线观看网站 | 精品人妻一区二区三区视频 | 久久天 | 色盈盈影院 | 亚洲性久久久 | 天天做天天爱天天操 | 日韩mv欧美mv国产网站 | 美女久久久久久久久久 | www.xxxx国产|