愛媛県動物愛護センターから迷い犬猫情報を取得しTwitterに投稿

import tempfile
from urllib.parse import urljoin

import requests
import twitter
from bs4 import BeautifulSoup

# 迷い犬猫情報にアクセスし、HTMLを取得する
url = 'http://www.pref.ehime.jp/h25123/4415/mayoi.html'
r = requests.get(url)

# エラーがないか確認する
if r.status_code == requests.codes.ok:

    # BeautifulSoupを使い迷い犬猫を取得する
    soup = BeautifulSoup(r.content, 'html.parser')

    for table in soup.select('#tmp_contents > table.datatable'):

        # タイトル取得
        caption = table.select_one('caption > h3').get_text(strip=True)

        if '犬' in caption:
            tribe = '犬'
        elif '猫' in caption:
            tribe = '猫'
        else:
            tribe = ''

        # 一行目ヘッダーのため二行目から取得する
        for row in table.select('tbody > tr')[1:]:

            # 迷い犬猫情報を取得する
            dogcat = [cell.get_text(strip=True) for cell in row.select('td')]

            # 写真のURLを取得する
            img_url = urljoin(url, row.select_one('img')['src'])

            # print(img_url)

            # 写真をダウンロードする
            res = requests.get(img_url)

            if res.status_code == requests.codes.ok:

                # 写真をファイルに一時保存する
                with tempfile.TemporaryFile() as fp:

                    fp.write(res.content)
                    fp.seek(0)
                    fp.read()

                    twit = '愛媛県動物愛護センター {0}\n\n拾得・捕獲場所:{1[0]}\n種類:{1[1]}\n毛色:{1[2]}\n性別:{1[3]}\n体格:{1[4]}\n備考:{1[5]}\n\n#愛媛県 #迷い{2}\n\n{3}'.format(
                        caption, dogcat, tribe, url)

                    # print(twit)

                    api = twitter.Api(
                        consumer_key='',
                        consumer_secret='',
                        access_token_key='',
                        access_token_secret='')

                    # Twitterに投稿する
                    status = api.PostUpdate(twit, media=fp)