PythonとBeautifulSoupを使用してWebページからファイルをダウンロードする方法について説明します。この記事では、PDFファイルをダウンロードする具体的な例を示します。
まず、BeautifulSoupとrequestsライブラリをインポートします。
import requests
from bs4 import BeautifulSoup as bs
次に、ダウンロードしたいWebページのURLを取得します。
_URL = 'http://www.example.com/'
このURLからレスポンスオブジェクトを取得します。
r = requests.get(_URL)
soup = bs(r.text)
次に、Webページ上のすべてのハイパーリンクを見つけます。
for i, link in enumerate(soup.findAll('a')):
_FULLURL = _URL + link.get('href')
そして、それらのリンクの中からPDFファイルのリンクを探します。
if _FULLURL.endswith('.pdf'):
urls.append(_FULLURL)
最後に、レスポンスオブジェクトを使用してPDFファイルを取得します。
rq = urllib2.Request(url)
res = urllib2.urlopen(rq)
pdf = open("pdfs/" + name, 'wb')
pdf.write(res.read())
pdf.close()
以上がPythonとBeautifulSoupを使用してWebページからファイルをダウンロードする基本的な手順です。この方法を使用すれば、Webページから情報をスクレイピングし、必要なファイルをダウンロードすることが可能です。