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を作成することを心配する必要がなくなりました!