Python爬虫教程(二)
?
一、bs4解析介紹
?? ??? ?1.bs4解析:BS4全稱是Beatiful Soup,它提供一些簡(jiǎn)單的、python式的函數(shù)用來(lái)處理導(dǎo)航、搜索、修改分析樹(shù)等功能。它是一個(gè)工具箱,自動(dòng)將輸入文檔轉(zhuǎn)換為Unicode編碼,輸出文檔轉(zhuǎn)換為utf-8編碼。
? ? ? ?2.HTML:用來(lái)描述網(wǎng)頁(yè)的一種語(yǔ)言。
? ? ? ?1)HTML指的是超文本標(biāo)記語(yǔ)言 (Hyper Text Markup Language)
?? ? ? 2)HTML 不是一種編程語(yǔ)言,而是一種標(biāo)記語(yǔ)言 (markup language)
? ? ? ?3)標(biāo)記語(yǔ)言是一套標(biāo)記標(biāo)簽 (markup tag)
? ? ? ?4)HTML 使用標(biāo)記標(biāo)簽來(lái)描述網(wǎng)頁(yè)
? ? ? ?3. HTML常見(jiàn)標(biāo)簽:
? ? ? ? h1:一級(jí)標(biāo)簽
? ? ? ? h2:二級(jí)標(biāo)簽
? ? ? ? p:段落
? ? ? ? body:主體
二、使用bs4解析實(shí)戰(zhàn)爬取優(yōu)美圖庫(kù)圖片
? ? ? ?1. 獲取主頁(yè)面源代碼。
? ? ? ?2.定位標(biāo)簽,找到主頁(yè)面源代碼中子頁(yè)面的鏈接位置。
? ? ? ?3. 獲取子頁(yè)面下載鏈接,得到“href”。
? ? ? ?4.子頁(yè)面下載地址不全,進(jìn)行子頁(yè)面下載了解拼接補(bǔ)全。,得到完整下載鏈接。
? ? ? ?5. 獲取子頁(yè)面源代碼。
? ? ? ?6. 從子頁(yè)面獲取圖片下載路徑。
? ? ? ?7. 下載圖片,創(chuàng)建文件夾img,將下載圖片存入img文件夾中,取名為下載鏈接最后一部分(唯一)。?
?三、xpath解析介紹?
? ? ? ?XPath即為XML路徑語(yǔ)言(XML Path Language),它是一種用來(lái)確定XML文檔中某部分位置的語(yǔ)言。基于XML的樹(shù)狀結(jié)構(gòu),提供在數(shù)據(jù)結(jié)構(gòu)樹(shù)中找尋節(jié)點(diǎn)的能力。
? ? ? ?1)XML 指可擴(kuò)展標(biāo)記語(yǔ)言(EXtensible Markup Language)
? ? ? ?2)XML 是一種標(biāo)記語(yǔ)言,很類似 HTML
? ? ? ?3)XML 的設(shè)計(jì)宗旨是傳輸數(shù)據(jù),而非顯示數(shù)據(jù)
? ? ? ?4)XML 標(biāo)簽沒(méi)有被預(yù)定義。您需要自行定義標(biāo)簽。
? ? ? ?5)XML 被設(shè)計(jì)為具有自我描述性。
? ? ? ?1.xpath入門,準(zhǔn)備一個(gè)節(jié)點(diǎn)示例。
? ? ? ?2. 從節(jié)點(diǎn)示例中找到book節(jié)點(diǎn)。
? ? ? ?3. 獲取節(jié)點(diǎn)實(shí)例中name節(jié)點(diǎn)下文本。
? ? ? ?4. 獲取author節(jié)點(diǎn)下所有的nick節(jié)點(diǎn)的文本,示例中存在author節(jié)點(diǎn)下的nick節(jié)點(diǎn)以及author節(jié)點(diǎn)下div中的nick節(jié)點(diǎn),下面將全部?jī)?nèi)容進(jìn)行輸出。
? ? ? ?5.常見(jiàn)的命令
? ? ? ?//:當(dāng)前目錄中后面所有節(jié)點(diǎn)
? ? ? ?*:通配符
? ? ? @:屬性
? ? ? ?[]:表示索引
? ? ? ?[1]:第一條(xpath順序是從1開(kāi)始計(jì)算)
? ? ? ?[@xx=’xxx’] :表示屬性的篩選
? ? ? ?./:表示當(dāng)前節(jié)點(diǎn),相對(duì)查找
四、使用xpath實(shí)戰(zhàn)爬取豬八戒網(wǎng)信息
? ? ? ?獲取如圖中四個(gè)信息:店鋪、位置、價(jià)格、標(biāo)題
? ? ?? ?1.獲取頁(yè)面源代碼。
?? ? ? ?2.使用xpath解析,找到整體源代碼位置。
? ? ? ?3.尋找所需信息位置進(jìn)行爬取。
?? ? ? ?4.對(duì)輸出結(jié)果進(jìn)行整理,輸出適合格式,完成豬八戒網(wǎng)信息獲取。
總結(jié)
以上是生活随笔為你收集整理的Python爬虫教程(二)的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: python爬虫教程(一)
- 下一篇: Python爬虫教程(四)