python爬蟲 用xpath爬豆瓣電影

2022-08-22 01:42:15 字數 2710 閱讀 7173

步驟

將目標**下的頁面抓取下來

將抓取下來的資料根據一定規則進行提取

具體流程

將目標**下的頁面抓取下來

1. 倒庫

import requests
2.頭資訊(有時候可不寫)

4.返回響應

response = requests.get(url,headers=headers)  #響應

#print(response.text)

text = response.text

response.text:返回的是乙個經過解碼後的字串,是str(unicode)型別

response.concent:返回的是乙個原生的字串,就是從網頁上抓取下來的,沒有經過解碼的字串,是bytes型別

2.將抓取下來的資料根據一定規則進行提取

1.將爬取下來是資料用lxml進行解析

from lxml import etree

html = etree.html(text)

2.獲取ul、li下的 'title'、'score'、'poster'

先看看框架

ul (class='list')

li ······

ulli

a ······

ul = html.xpath("//ul[@class='lists']")[0]

#print(etree.tostring(ul,encoding='utf-8').decode('utf-8'))

lis = ul.xpath('./li')

for li in lis:

#print(etree.tostring(li,encoding='utf-8').decode('utf-8'))

title = li.xpath('@data-title')[0]

#print(title)

score = li.xpath('@data-score')[0]

# print(score)

poster = li.xpath('.//img/@src')[0]

# print(poster)

[0] 只獲取第乙個內容

// 獲取網頁當中所有的元素

./ 在當前標籤下獲取

.// 在當前標籤下下獲取

xpath返回的是列表的形式 [''],[0]就可以只拿內容

3.儲存資訊

request.urlretrieve(poster, 'd:/a/' + score + title + '.jpg')
2.顯示進度條

fns_num = 1

num = len(lis)

for li in lis:

···print("\r完成進度: %".format(fns_num * 100 / num), end="")

fns_num += 1

完整**

print("\r完成進度: %".format(fns_num * 100 / num), end="")

fns_num += 1

datawhale爬蟲(xpath爬取丁香網評論)

1.xpath基礎學習 前面我們介紹了 beautifulsoup 的用法,這個已經是非常強大的庫了,不過還有一些比較流行的解析庫,例如 lxml,使用的是 xpath 語法,同樣是效率比較高的解析方法。如果大家對 beautifulsoup 使用不太習慣的話,可以嘗試下 xpath。xpath 是...

python爬蟲XPath學習

xpath簡介和基本使用 1.前言 之前爬蟲的時候沒有用過xpath,就是沒用過lxml這個包,遇到json格式網頁我用的json.loads html格式用的beautifulsoup裡面有find和find all函式查詢標籤之類的。但是xpath在爬蟲裡面也算乙個比較重要的工具,當然要學習啦。...

python 爬蟲(XPATH使用)

xpath xml path language 是一門在xml文件中查詢資訊的語言,可用來在xml文件中對元素和屬性進行遍歷。w3school官方文件 pip install lxml 如果出現網路延遲,可使用清華源進行安裝匯入兩種匯入方式 第一種 直接匯入from lxml import etre...