国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

python爬蟲數(shù)據(jù)解析xpath

這篇具有很好參考價值的文章主要介紹了python爬蟲數(shù)據(jù)解析xpath。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

一、環(huán)境配置

1、安裝xpath

下載地址:百度網(wǎng)盤 請輸入提取碼

第一步:

下載好文件后會得到一個沒有擴展名的文件,重命名該文件將其改為.rar或者.zip等壓縮文件,解壓之后會得到一個.crx文件和一個.pem文件。新建一個文件夾,將這兩個文件放在該文件夾(本人將其命名為xpath-helper)內(nèi)。

第二步:

將.crx文件重命名,改為.rar或.zip文件,解壓在xpath-helper文件夾中,解壓后會得到許多文件如下圖

python爬蟲數(shù)據(jù)解析xpath,python,爬蟲,python,爬蟲,開發(fā)語言

第三步:

打開Chrome瀏覽器,進入擴展程序頁面,選擇右上角的開發(fā)者模式,之后點擊左上角的加載已解壓的擴展程序,選擇xpath-helper文件夾,這樣在瀏覽器中就會出現(xiàn)XPath-Helper了。

python爬蟲數(shù)據(jù)解析xpath,python,爬蟲,python,爬蟲,開發(fā)語言

?2、安裝lxml的庫

想要使用xpath,我們還必須安裝一個名為lxml的庫,這個庫安裝的目錄必須在python的解釋器路徑下。

首先,我們查看python解釋器的路徑。打開pycharm --> file -->settings -->Project?

點擊加號直接搜索安裝或者命令行安裝:

pip install lxml

python爬蟲數(shù)據(jù)解析xpath,python,爬蟲,python,爬蟲,開發(fā)語言

二、xpath基本語法

1、基礎(chǔ)語法

1. 路徑查詢
? ? ? ? //:查找所有子孫節(jié)點,不考慮層級關(guān)系
? ? ? ? / :找直接子節(jié)點
2. 謂詞查詢
? ? ? ? //div[@id]
? ? ? ? //div[@id="maincontent"]
3. 屬性查詢
? ? ? ? //@class
4. 模糊查詢
? ? ? ? //div[contains(@id, "he")]
? ? ? ? //div[starts‐with(@id, "he")]
5. 內(nèi)容查詢
? ? ? ? //div/h1/text()
6. 邏輯運算
? ? ? ? //div[@id="head" and @class="s_down"]
? ? ? ? //title | //price

新建一個HTML

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8"/>
    <title>Title</title>
</head>
<body>
    <ul>
        <li id="l1" class="c1">北京</li>
        <li id="l2">上海</li>
        <li id="c3">深圳</li>
        <li id="c4">武漢</li>
    </ul>

</body>
</html>

編寫python文件文章來源地址http://www.zghlxwxcb.cn/news/detail-689753.html

from lxml import etree
 
# lxml解析本地文件                        etree.parse('XX.html')
# lxml解析服務(wù)器響應(yīng)文件                   etree.HTML(response.read().decode('utf‐8')
tree = etree.parse('1.html')
 
# tree.xpath(xpath路徑)
 
# 查找ul下面的li
li_list = tree.xpath('//body/ul/li')
 
# 查找所有有id屬性的li標簽
# text()    獲取標簽中的內(nèi)容
li_list = tree.xpath('//ul/li[@id]/text()')
 
# 找到id為l1的li標簽  注意引號的問題
li_list = tree.xpath('//ul/li[@id="l1"]/text()')
 
# 查找到id位l1的li標簽的class的屬性值
li = tree.xpath('//ul/li[@id="l1"]/@class')
 
# 查詢id中包含l的li標簽
li_list = tree.xpath('//ul/li[contains(@id,"l")]/text()')
 
# 查詢id的值以c開頭的li標簽
li_list = tree.xpath('//ul/li[starts-with(@id,"c")]/text()')
 
# 查詢id為l1和class為c1的li標簽
li_list = tree.xpath('//ul/li[@id="l1" and @class="c1"]/text()')
 
#查詢id為l1或id為l2的li標簽
li_list = tree.xpath('//ul/li[@id="l1"]/text() | //ul/li[@id="l2"]/text()')
 
# 判斷列表的長度
print(li_list)
print(len(li_list))

2、案例:爬取站長素材網(wǎng)上的前十頁照片

# (1) 請求對象的定制
# (2)獲取網(wǎng)頁的源碼
# (3)下載


# 需求 下載的前十頁的圖片
# https://sc.chinaz.com/tupian/qinglvtupian.html   1
# https://sc.chinaz.com/tupian/qinglvtupian_page.html

import urllib.request
from lxml import etree

def create_request(page):
    if(page == 1):
        url = 'https://sc.chinaz.com/tupian/qinglvtupian.html'
    else:
        url = 'https://sc.chinaz.com/tupian/qinglvtupian_' + str(page) + '.html'

    headers = {
        'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/92.0.4515.159 Safari/537.36',
    }

    request = urllib.request.Request(url = url, headers = headers)
    return request

def get_content(request):
    response = urllib.request.urlopen(request)
    content = response.read().decode('utf-8')
    return content


def down_load(content):
#     下載圖片
    # urllib.request.urlretrieve('圖片地址','文件的名字')
    tree = etree.HTML(content)

    name_list = tree.xpath('//div[@class="item"]//img/@alt')

    # 一般設(shè)計圖片的網(wǎng)站都會進行懶加載
    src_list = tree.xpath('//div[@class="item"]//img/@data-original')
    print(src_list)

    for i in range(len(name_list)):
        name = name_list[i]
        src = src_list[i]
        url = 'https:' + src

        urllib.request.urlretrieve(url=url,filename='./loveImg/' + name + '.jpg')



if __name__ == '__main__':
    start_page = 1
    end_page = 10

    for page in range(start_page,end_page+1):
        # (1) 請求對象的定制
        request = create_request(page)
        # (2)獲取網(wǎng)頁的源碼
        content = get_content(request)
        print(content)
        with open('爬蟲_解析_站長素材.html','w',encoding='utf-8')as fp:
            fp.write(content)

        # (3)下載
        down_load(content)

到了這里,關(guān)于python爬蟲數(shù)據(jù)解析xpath的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務(wù),不擁有所有權(quán),不承擔相關(guān)法律責任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實不符,請點擊違法舉報進行投訴反饋,一經(jīng)查實,立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費用

相關(guān)文章

  • Python爬蟲——解析插件xpath的安裝及使用

    Python爬蟲——解析插件xpath的安裝及使用

    目錄 1.安裝xpath 2.安裝lxml的庫 3.xpath基本語法 4.案例一:獲取百度網(wǎng)站的百度一下字樣 5.案例二:爬取站長素材網(wǎng)上的前十頁照片 打開谷歌瀏覽器 --?點擊右上角小圓點 --?更多工具 --?擴展程序 ?下載xpath壓縮包,下載地址:阿里云盤分享 把壓縮包解壓到指定目錄 --?選擇加

    2024年02月02日
    瀏覽(26)
  • python spider 爬蟲 之 解析 xpath 、jsonpath、BeautifulSoup (三)

    python spider 爬蟲 之 解析 xpath 、jsonpath、BeautifulSoup (三)

    簡稱:bs4 BeautifulSoup跟lxml 一樣,是一個html文檔的解析器,主要功能也是解析和提取數(shù)據(jù) 優(yōu)缺點 缺點:效率沒有l(wèi)xml的效率高 優(yōu)點:接口接口人性化,使用方便 延用了css選擇器 安裝BeautifulSoup 1、安裝:pip install bs4 2、導(dǎo)入:from bs4 import BeautifulSoup 3、創(chuàng)建bs4 對象 ① 服務(wù)器響

    2024年02月11日
    瀏覽(34)
  • Python爬蟲技術(shù)系列-02HTML解析-xpath與lxml

    Python爬蟲技術(shù)系列-02HTML解析-xpath與lxml

    參考連接: XPath教程 https://www.w3school.com.cn/xpath/index.asp lxml文檔 https://lxml.de/index.html#support-the-project 爬蟲專欄 https://blog.csdn.net/m0_38139250/category_12001010.html XPath的中文名稱為XML路徑語言(XML Path Language),其最初的設(shè)計是用來搜索 XML 文檔,但也適用于HTML文檔搜索。1996年11月,

    2024年02月07日
    瀏覽(20)
  • 【Python爬蟲開發(fā)實戰(zhàn)①】使用urllib以及XPath爬取可愛小貓圖片

    【Python爬蟲開發(fā)實戰(zhàn)①】使用urllib以及XPath爬取可愛小貓圖片

    個人主頁 :為夢而生~ 關(guān)注我一起學(xué)習(xí)吧! 專欄 :python網(wǎng)絡(luò)爬蟲從基礎(chǔ)到實戰(zhàn) 歡迎訂閱!后面的內(nèi)容會越來越有意思~ 往期推薦 : 【Python爬蟲開發(fā)基礎(chǔ)⑦】urllib庫的基本使用 【Python爬蟲開發(fā)基礎(chǔ)⑧】XPath庫及其基本用法 我們在之前已經(jīng)有8篇文章講述基礎(chǔ)知識了,下面我們

    2024年02月11日
    瀏覽(168)
  • Python爬蟲實戰(zhàn)——Lazada商品數(shù)據(jù)(selenium自動化爬蟲,xpath定位)

    Python爬蟲實戰(zhàn)——Lazada商品數(shù)據(jù)(selenium自動化爬蟲,xpath定位)

    ? ? ? ? 在此說明,這個項目是我第一次真正去爬的一個網(wǎng)站,里面寫的代碼我自己都看不下去,但是已經(jīng)不想花時間去重構(gòu)了,所以看個樂呵就好,要噴也可以(下手輕一點)。這篇文算是記錄我的學(xué)習(xí)中出現(xiàn)的一些問題,不建議拿來學(xué)習(xí)和真拿我的代碼去爬Lazada的數(shù)據(jù),

    2024年02月02日
    瀏覽(23)
  • 5.網(wǎng)絡(luò)爬蟲——Xpath解析

    5.網(wǎng)絡(luò)爬蟲——Xpath解析

    前言: ??????此專欄文章是專門針對Python零基礎(chǔ)爬蟲,歡迎免費訂閱! ?????第一篇文章獲得 全站熱搜第一 , python領(lǐng)域熱搜第一 , 第四篇文章 全站熱搜第八 ,歡迎閱讀! ????歡迎大家一起學(xué)習(xí),一起成長??! ????:悲索之人烈焰加身,墮落者不可饒恕。永恒燃

    2024年02月03日
    瀏覽(24)
  • 尚硅谷爬蟲(解析_xpath的基本使用)筆記

    尚硅谷爬蟲(解析_xpath的基本使用)筆記

    創(chuàng)建一個簡單的HTML: 創(chuàng)建一個python文件: 如果解析本地文件使用etree.parse 如果解析服務(wù)器響應(yīng)文件使用etree.HTML() 運行: ?會報錯 lxml.etree.XMLSyntaxError: Opening and ending tag mismatch: meta line 4 and head, line 6, column 8 原因是 xpath 嚴格遵守HTML規(guī)范?? 解決方法: 在meta標簽中加入 /? 再次

    2023年04月21日
    瀏覽(20)
  • Python爬蟲| 一文掌握XPath

    Python爬蟲| 一文掌握XPath

    本篇文章主要介紹利用 Python爬蟲爬取付費文章 ,適合練習(xí)爬蟲基礎(chǔ)同學(xué),文中描述和代碼示例很詳細,干貨滿滿,感興趣的小伙伴快來一起學(xué)習(xí)吧! ??大家好!我是新人小白博主朦朧的雨夢,希望大家多多關(guān)照和支持?????? ??大家一起努力,共同成長,相信我們都會

    2024年02月05日
    瀏覽(17)
  • Python爬蟲|基礎(chǔ)知識點詳細匯總(requests、urllib、re、bs4、xpath、PyQuery、jsonpath、多線程、協(xié)程、數(shù)據(jù)保存、selenium)

    1. 請求數(shù)據(jù) ① requests (1) 基本使用 參數(shù) 對響應(yīng)內(nèi)容的操作 (2) Requests進階:使用Session 為什么要用 Session? Session代表服務(wù)器與瀏覽器的一次會話過程,Session對象存儲了特定用戶會話所需的信息 例如:一定時間內(nèi)記錄賬號密碼 (自動登錄) 可以加快 requests請求速度 需要客戶端登錄的

    2023年04月08日
    瀏覽(31)
  • 〖Python網(wǎng)絡(luò)爬蟲實戰(zhàn)?〗- XPATH語法介紹

    訂閱:新手可以訂閱我的其他專欄。免費階段訂閱量1000+ ????????????????python項目實戰(zhàn) ???????????????? Python編程基礎(chǔ)教程系列(零基礎(chǔ)小白搬磚逆襲) 說明:本專欄持續(xù)更新中,目前專欄免費訂閱,在轉(zhuǎn)為付費專欄前訂閱本專欄的,可以免費訂閱付費專欄,

    2023年04月14日
    瀏覽(134)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包