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

python-爬蟲-xpath方法-批量爬取王者皮膚圖片

這篇具有很好參考價值的文章主要介紹了python-爬蟲-xpath方法-批量爬取王者皮膚圖片。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

import requests
from lxml import etree

獲取NBA成員信息

# 發(fā)送的地址
url = 'https://nba.hupu.com/stats/players'
# UA 偽裝  google
header = {
    'User-Agent':'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/116.0.0.0 Safari/537.36'
}
r = requests.get(url)
# print(r.text)  # jupyter 打印可以看到格式化的html數(shù)據(jù)
# 將HTML文本解析成Element對象
e = etree.HTML(r.text)
players = e.xpath('//*[@id="data_js"]/div[4]/div/table/tbody/tr/td[2]/a/text()')
teams = e.xpath('//*[@id="data_js"]/div[4]/div/table/tbody/tr/td[3]/a/text()')
# 保存到txt文件
with open('nba.txt','w',encoding='utf-8') as f:
    for player,team in zip(players,teams):
        f.write(f'球員:{player} - - - 球隊:{team}\n')

球員:喬爾-恩比德 - - - 球隊:76人
球員:盧卡-東契奇 - - - 球隊:獨行俠
球員:達米安-利拉德 - - - 球隊:開拓者

批量爬取王者榮耀皮膚圖片

python-爬蟲-xpath方法-批量爬取王者皮膚圖片,python,爬蟲,jupyter

  • 爬取一張圖片
url = 'https://game.gtimg.cn/images/yxzj/img201606/skin/hero-info/505/505-bigskin-7.jpg'
r = requests.get(url)
# 保存圖片
# w write b 二進制
with open('a.jpg','wb') as f:
    f.write(r.content)

python-爬蟲-xpath方法-批量爬取王者皮膚圖片,python,爬蟲,jupyter

  • 該角色有7個皮膚 爬取7個圖片
for i in range(1,8):
    url = f'https://game.gtimg.cn/images/yxzj/img201606/skin/hero-info/505/505-bigskin-{i}.jpg'
    r = requests.get(url)
    with open(f'{i}.jpg','wb') as f:
        f.write(r.content)    
  • 獲取這7個皮膚的名字 保存圖片
headers = {
    'User-Agent':'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/116.0.0.0 Safari/537.36 Edg/116.0.1938.69'
}
url = 'https://pvp.qq.com/web201605/herodetail/505.shtml'
r = requests.get(url,headers=headers)
r.encoding='gbk'
e = etree.HTML(r.text)
# e.xpath 返回一個列表  使用索引[0]變?yōu)閟tr
names = e.xpath('//ul[@class="pic-pf-list pic-pf-list3"]/@data-imgname')[0]  # '鹿靈守心&0|森&0|遇見神鹿&71|時之祈愿&94|時之愿境&42|山?!け滩ㄐ?amp;109|真我赫茲&117'
# names.split('|') # split只能用于str,不能用于list  # ['鹿靈守心&0', '森&0', '遇見神鹿&71', '時之祈愿&94', '時之愿境&42', '山海·碧波行&109', '真我赫茲&117']
names = [name[0:name.index('&')] for name in names.split('|')] # ['鹿靈守心', '森', '遇見神鹿', '時之祈愿', '時之愿境', '山?!け滩ㄐ?, '真我赫茲']
for i,n in enumerate(names):
    url = f'https://game.gtimg.cn/images/yxzj/img201606/skin/hero-info/505/505-bigskin-{i+1}.jpg'
    r = requests.get(url)
    with open(f'{n}.jpg','wb') as f:
        f.write(r.content)

python-爬蟲-xpath方法-批量爬取王者皮膚圖片,python,爬蟲,jupyter

  • 獲取所有英雄皮膚
    python-爬蟲-xpath方法-批量爬取王者皮膚圖片,python,爬蟲,jupyter

把該行網(wǎng)址復制到網(wǎng)址欄,會自動下載該文件

https://pvp.qq.com/web201605/js/herolist.json

該文件內(nèi)容如下,有英雄的各種信息
每個花括號 { } 是一個json數(shù)據(jù)
python-爬蟲-xpath方法-批量爬取王者皮膚圖片,python,爬蟲,jupyter

import requests
from lxml import etree
import os
from time import sleep


headers = {
    'User-Agent':'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/116.0.0.0 Safari/537.36 Edg/116.0.1938.69'
}
url = 'https://pvp.qq.com/web201605/js/herolist.json'
r = requests.get(url,headers=headers)
for x in r.json():
    ename = x.get('ename')  # 數(shù)字  url里面變化的那個數(shù)字
    cname = x.get('cname')  # 英雄的名字
    
    if not os.path.exists(cname):
        os.makedirs(cname)
        
    urlone = f'https://pvp.qq.com/web201605/herodetail/{ename}.shtml'
    r = requests.get(url=urlone,headers=headers)
    r.encoding='gbk'
    e = etree.HTML(r.text)
    # e.xpath 返回一個列表  使用索引[0]變?yōu)閟tr
    names = e.xpath('//ul[@class="pic-pf-list pic-pf-list3"]/@data-imgname')[0]  # '鹿靈守心&0|森&0|遇見神鹿&71|時之祈愿&94|時之愿境&42|山海·碧波行&109|真我赫茲&117'
    # names.split('|') # split只能用于str,不能用于list  # ['鹿靈守心&0', '森&0', '遇見神鹿&71', '時之祈愿&94', '時之愿境&42', '山?!け滩ㄐ?amp;109', '真我赫茲&117']
    names = [name[0:name.index('&')] for name in names.split('|')] # ['鹿靈守心', '森', '遇見神鹿', '時之祈愿', '時之愿境', '山?!け滩ㄐ?, '真我赫茲']
    for i,n in enumerate(names):
        url = f'https://game.gtimg.cn/images/yxzj/img201606/skin/hero-info/{ename}/{ename}-bigskin-{i+1}.jpg'
        r = requests.get(url)
        with open(f'{cname}/{n}.jpg','wb') as f:
            f.write(r.content) 
        print(f'{n}已下載')
        sleep(1) 

部分圖片展示
python-爬蟲-xpath方法-批量爬取王者皮膚圖片,python,爬蟲,jupyter
xpath分析
python-爬蟲-xpath方法-批量爬取王者皮膚圖片,python,爬蟲,jupyter

//ul[@class=“pic-pf-list pic-pf-list3”]/@data-imgname

asd = '鹿靈守心&0'
asd.index('心')  # 3  # 心在index3的位置

<generator object at 0x0000029394AFACF0> 迭代器 在最左和最右加上方括號[ ]就會變成str

os.makedirs and os.mkdir

os.makedirs和os.mkdir都是用于創(chuàng)建目錄的函數(shù),但有以下區(qū)別:

  1. os.mkdir只能創(chuàng)建一級目錄,而os.makedirs可以同時創(chuàng)建多級目錄。

  2. 如果要創(chuàng)建的目錄已經(jīng)存在,os.mkdir會拋出FileExistsError異常,而os.makedirs不會拋出異常。

  3. os.makedirs還可以通過設(shè)置exist_ok參數(shù)來控制是否拋出異常。如果exist_ok為True,表示即使目錄已經(jīng)存在也不會拋出異常,如果為False,則會拋出異常。

示例代碼:

import os

# 創(chuàng)建單級目錄
os.mkdir('dir1')
# 創(chuàng)建多級目錄
os.makedirs('dir2/subdir1/subdir2')

# 創(chuàng)建已存在的目錄
os.mkdir('dir1') # 會拋出異常
os.makedirs('dir2/subdir1/subdir2') # 不會拋出異常

# 創(chuàng)建已存在的目錄時,設(shè)置exist_ok參數(shù)
os.makedirs('dir2/subdir1/subdir2', exist_ok=True) # 不會拋出異常
os.makedirs('dir2/subdir1/subdir2', exist_ok=False) # 會拋出異常

xpath工具

# 將HTML文檔加載進來
html = etree.parse('demo.html')

# 將HTML文檔解析成Element對象
root = html.getroot()

Python爬蟲中,使用xpath提取HTML或XML文檔中的元素是非常常見的操作。下面是etree庫中xpath常用的方法:

  1. xpath():在文檔中使用xpath表達式進行查找,返回匹配的元素列表。

  2. find():在文檔中查找匹配xpath表達式的第一個元素,返回元素對象。

  3. findall():在文檔中查找匹配xpath表達式的所有元素,返回元素對象列表。

  4. text屬性:獲取元素的文本內(nèi)容。

  5. attrib屬性:獲取元素的屬性。

  6. get()方法:獲取指定屬性的值。

  7. iter()方法:獲取文檔中所有匹配xpath表達式的元素,返回迭代器對象。

  8. Element()方法:創(chuàng)建一個新的元素對象。

  9. SubElement()方法:在指定元素下創(chuàng)建一個新的子元素。

  10. ElementTree()方法:創(chuàng)建一個新的XML文檔樹對象。

以上這些方法是在使用xpath提取HTML或XML文檔中的元素時經(jīng)常使用的方法,掌握了這些方法,就可以方便地對文檔進行操作了。文章來源地址http://www.zghlxwxcb.cn/news/detail-698312.html

到了這里,關(guān)于python-爬蟲-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爬蟲實戰(zhàn)-批量爬取下載網(wǎng)易云音樂

    Python爬蟲實戰(zhàn)-批量爬取下載網(wǎng)易云音樂

    大家好,我是python222小鋒老師。前段時間卷了一套? Python3零基礎(chǔ)7天入門實戰(zhàn) https://blog.csdn.net/caoli201314/article/details/132882813 1小時掌握Python操作Mysql數(shù)據(jù)庫之pymysql模塊技術(shù) https://blog.csdn.net/caoli201314/article/details/133199207 一天掌握python爬蟲【基礎(chǔ)篇】 涵蓋 requests、beautifulsoup、se

    2024年02月05日
    瀏覽(96)
  • Python爬蟲實戰(zhàn)-批量爬取豆瓣電影排行信息

    Python爬蟲實戰(zhàn)-批量爬取豆瓣電影排行信息

    大家好,我是python222小鋒老師。 近日鋒哥又卷了一波Python實戰(zhàn)課程-批量爬取豆瓣電影排行信息,主要是鞏固下Python爬蟲基礎(chǔ) 視頻版教程: Python爬蟲實戰(zhàn)-批量爬取豆瓣電影排行信息 視頻教程_嗶哩嗶哩_bilibili Python爬蟲實戰(zhàn)-批量爬取豆瓣電影排行信息 視頻教程作者:小鋒老師

    2024年02月05日
    瀏覽(30)
  • 【python爬蟲】—圖片爬取

    【python爬蟲】—圖片爬取

    從https://pic.netbian.com/4kfengjing/網(wǎng)站爬取圖片,并保存 獲取待爬取網(wǎng)頁 獲取所有圖片,并下載 爬取結(jié)果展示

    2024年02月10日
    瀏覽(91)
  • Python爬蟲 爬取圖片

    Python爬蟲 爬取圖片

    在我們?nèi)粘I暇W(wǎng)瀏覽網(wǎng)頁的時候,經(jīng)常會看到一些好看的圖片,我們就希望把這些圖片保存下載,或者用戶用來做桌面壁紙,或者用來做設(shè)計的素材。 我們最常規(guī)的做法就是通過鼠標右鍵,選擇另存為。但有些圖片鼠標右鍵的時候并沒有另存為選項,還有辦法就通過就是通過

    2024年02月13日
    瀏覽(92)
  • python爬蟲 爬取網(wǎng)頁圖片

    python爬蟲 爬取網(wǎng)頁圖片

    目錄 一:爬蟲基礎(chǔ) 二:安裝html解析的python工具 三:爬取網(wǎng)頁圖片 爬蟲基本過程: 1.請求標頭 headers 2.創(chuàng)建一個會話 requests.Session 3.確定請求的路徑 4.根據(jù)路徑獲取網(wǎng)頁資源(HTML文件) 5.解析html文件BeautifulSoup div a 標簽 獲取對應(yīng)的圖片 6.建立網(wǎng)絡(luò)連接進行下載? 創(chuàng)建出下載的圖

    2024年02月02日
    瀏覽(101)
  • Python爬蟲系列(二)——Python爬蟲批量下載百度圖片

    Python爬蟲系列(二)——Python爬蟲批量下載百度圖片

    1. 前言 先貼代碼 如果要使用上述程序的話,需要修改兩個地方 : self.directory 這是本地存儲地址,修改為自己電腦的地址,另外,**{}**不要刪 spider.json_count = 10 這是下載的圖像組數(shù),一組有30張圖像,10組就是三百張,根據(jù)需求下載 也可以去gitee倉庫直接下載程序。 關(guān)于 py

    2023年04月08日
    瀏覽(94)
  • Python爬蟲之Scrapy框架系列(21)——重寫媒體管道類實現(xiàn)保存圖片名字自定義及多頁爬取

    spider文件中要拿到圖片列表并yield item; item里需要定義特殊的字段名:image_urls=scrapy.Field(); settings里設(shè)置IMAGES_STORE存儲路徑,如果路徑不存在,系統(tǒng)會幫助我們創(chuàng)建; 使用默認管道則在s

    2024年02月10日
    瀏覽(94)
  • Python爬蟲實戰(zhàn)(六)——使用代理IP批量下載高清小姐姐圖片(附上完整源碼)

    Python爬蟲實戰(zhàn)(六)——使用代理IP批量下載高清小姐姐圖片(附上完整源碼)

    本次爬取的目標是某網(wǎng)站4K高清小姐姐圖片: 實現(xiàn)批量下載指定的圖片,存放到指定文件夾中: Python:3.10 編輯器:PyCharm 第三方模塊,自行安裝: 爬蟲使用代理IP的好處有以下幾點: 輪換IP地址 :使用代理IP可以輪換IP地址,降低被封禁的風險,從而保持爬取的連續(xù)性

    2024年02月07日
    瀏覽(93)
  • python基于Selenium方法爬取網(wǎng)頁圖片

    python基于Selenium方法爬取網(wǎng)頁圖片

    selenium是一個用于web應(yīng)用程序的自動化測試工具,通過Selenium可以寫出自動化程序,擬人在瀏覽器對網(wǎng)頁進行操作。selenium可以編寫出自動化程序,簡化手動保存的部分。 requests庫可以向第三方發(fā)送http請求,是一個用于網(wǎng)絡(luò)請求的模塊,通常以GET方式請求特定資源,請求中不應(yīng)

    2024年02月03日
    瀏覽(26)
  • Python爬蟲:實現(xiàn)爬取、下載網(wǎng)站數(shù)據(jù)的幾種方法

    使用腳本進行下載的需求很常見,可以是常規(guī)文件、web頁面、Amazon S3和其他資源。Python 提供了很多模塊從 web 下載文件。下面介紹 requests 模塊是模仿網(wǎng)頁請求的形式從一個URL下載文件 示例代碼: 安裝 wget 庫 示例代碼 有些 URL 會被重定向到另一個 URL,后者是真正的下載鏈接

    2024年02月05日
    瀏覽(97)

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

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

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

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

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包