Pythonクローラーを使用して1w +をダウンロードするように教えてください 『pptテンプレート』

1はじめに

この記事のテキストと写真はインターネットからのものであり、学習とコミュニケーションのみを目的としており、商用目的ではありません。ご不明な点がございましたら、処理についてお問い合わせください。

PS:Pythonの学習教材が必要な場合は、以下のリンクをクリックして自分で入手できます

Pythonの無料の学習資料、コード、交換回答クリックして参加


あなたが学生であろうと仕事であろうと、あなたはpptを扱います。pptを作るたびに、テンプレートを見つける必要があります。時々、pptテンプレートはまだ課金されます。これは...、少し嫌です、ハハハ!

今日は、Pythonクローラーを使用して「pptテンプレート」の10,000コピーをクロールする方法を説明します。将来的には、pptを作成してもテンプレートがないことを恐れなくなります。

2.関連する紹介

1.テンプレートソース


https://sc.chinaz.com/ppt/free_1.html

 

1ページあたり20アイテム、合計500ページ、合計10,000 pptテンプレート!

2.クローラーのアイデア

  • 最初に各ページをトラバースし、各pptテンプレートのURLを取得します。
  • pptテンプレートのURLに従ってダウンロードアドレスを取得します。
  • 最後に、ダウンロードアドレスに従ってファイルをローカルにダウンロードします。

3.データのクロール

1.すべてのページをトラバースします

 

xpathを介して、pptテンプレートのURLと名前を含むタグclass = bot-divを見つけることができます。


import requests
from lxml import etree

###遍历每一页
def getlist():

    for k in range(1,501):
        url = "https://sc.chinaz.com/ppt/free_"+str(k)+".html"
        res = requests.get(url)
        res.encoding = 'utf-8'
        text = res.text

        selector = etree.HTML(text)
        list = selector.xpath('//*[@class="bot-div"]')
        for i in list:
            title = i.xpath('.//a/text()')[0].replace("\n", '').replace(" ", '')
            href = i.xpath('.//a/@href')[0].replace("\n", '').replace(" ", '')
            print(title)
            print(href)
            print("----------------")

トラバースするときは、各pptテンプレートのURL(タイトル)と名前(href)を取得する必要があります(保存されたファイルの名前としてダウンロードすると便利です)

 

2.ダウンロードアドレスを取得します

例として次のURLを取り上げます


https://sc.chinaz.com/ppt/210305465710.htm

 

ダウンロードリンクを解析する

 

 

ラベルclass = download-urlは、4つのダウンロードアドレスを含むxpathを介して見つけることができます。実際、4つすべてが同じです。そのうちの1つを選択するだけです。


res = requests.get(url)
res.encoding = 'utf-8'
text = res.text
selector = etree.HTML(text)
href = selector.xpath('//*[@class="download-url"]/a/@href')[0]
print(href)

3.ダウンロードして保存します

取得したダウンロードアドレスに従ってファイルをダウンロードし、ローカルに保存します。


r = requests.get(href)
with open(str(title)+".rar", "wb") as code:
  code.write(r.content)

 

 

わかりました。pptテンプレートがローカルにダウンロードされます。

まとめてダウンロードを始めましょう!

4.バッチダウンロード


##下载文件
def download(url,title):
    res = requests.get(url)
    res.encoding = 'utf-8'
    text = res.text
    selector = etree.HTML(text)
    href = selector.xpath('//*[@class="download-url"]/a/@href')[0]

    r = requests.get(href)
    with open(str(title)+".rar", "wb") as code:
      code.write(r.content)
    print(str(title)+":下载完成!")


###遍历每一页
def getlist():

    for k in range(1,501):
        url = "https://sc.chinaz.com/ppt/free_"+str(k)+".html"
        res = requests.get(url)
        res.encoding = 'utf-8'
        text = res.text

        selector = etree.HTML(text)
        list = selector.xpath('//*[@class="bot-div"]')
        for i in list:
            title = i.xpath('.//a/text()')[0].replace("\n", '').replace(" ", '')
            href = i.xpath('.//a/@href')[0].replace("\n", '').replace(" ", '')
            download("https://sc.chinaz.com/"+str(href), str(title))

 

 

このようにして、10,000pptのテンプレートをダウンロードできます!

4.まとめ

Pythonプログラミングを介してpptテンプレート素材の10,000コピーをクロールし、将来的にテンプレートなしでpptを作成することを心配する必要がなくなりました!

おすすめ

転載: blog.csdn.net/pythonxuexi123/article/details/114528933