演習課題「Pythonで、Webページから指定の要素を取り出す」
右側の環境で、ホームディレクトリにfetch.pyを用意してあり、右側のコードエリアには、Pythonで、「ぱいじょ」のトップページを読み込んで出力するコードが記述してあります。
このページで、divタグに以下のclass属性を持った要素を出力するようコードを修正してください。
```
p-paijo__recent-backnumber
```
採点して、すべてのジャッジに正解すれば演習課題クリアです!
演習課題「Pythonで、Webページの要素をまとめて取り出す」
右側の環境で、ホームディレクトリにfetch.pyを用意してあり、Pythonで「ぱいじょ」のトップページから、divタグに以下のclass属性を持った要素を出力するコードが記述してあります。
```
p-paijo__recent-backnumber
```
ここから、画像のアドレスをすべて取り出すようコードを修正してください。
採点して、すべてのジャッジに正解すれば演習課題クリアです!
#08:HTMLを取得しよう - Python実践編
Pythonを使って、実際のWebページの取り込みにチャレンジします。「ぱいじょ」のトップページからバックナンバーのリンクを取得しましょう。
Webページのアドレス
https://paiza.jp/paijo
URIを指定して読み込む
# coding: utf-8
import requests
uri = 'https://paiza.jp/paijo'
html = requests.get(uri)
print(html.text)
プログラムを実行する
$ python getPaijo.py
# coding: utf-8
import requests
from bs4 import BeautifulSoup
uri = 'https://paiza.jp/paijo'
html = requests.get(uri)
# print(html.text)
soup = BeautifulSoup(html.text, 'html.parser')
print(soup.find('title').string)
※現在、https://paiza.jp/paijo に
"p-paijo__backnumber-list--older"というclassが存在していないため、
NONEと出力されます。
# coding: utf-8
import requests
from bs4 import BeautifulSoup
uri = 'https://paiza.jp/paijo'
html = requests.get(uri)
# print(html.text)
soup = BeautifulSoup(html.text, 'html.parser')
# print(soup.find('title').string)
backnumber = soup.find('div', class_='p-paijo__backnumber-list--older')
print(backnumber)
backnumber = soup.find('div', class_='p-paijo__backnumber-list--older')
#print(backnumber)
for element in backnumber.find_all('a'):
print(element['href'])
Requests: HTTP for Humans™
https://requests.readthedocs.io/en/latest/
Beautiful Soup: We called him Tortoise because he taught us.
http://crummy.com/software/BeautifulSoup/