見た目が良くなくてすみません! | python3Xのブログ

python3Xのブログ

ここでは40代、50代の方が日々の生活で役に立つ情報や私の趣味であるプログラム、Excelや科学に関する内容で投稿する予定です。

まだRobo 3Tの方がきれいに見えます

が取り敢えず、家電のリコールに関する内容をスクレイピングし

それをMongoDBに保存しました

コマンド表示では見づらいですが

Robo 3Tではやや見やすくなっています

 

コード

import requests
from bs4 import BeautifulSoup
from pymongo import MongoClient
url_post = "https://www.recall.caa.go.jp/result/index.php"
payload = {'search':'エ', 'category':'2','screenkbn':'01','viewCountdden':'15'}
html = requests.post(url_post, data=payload)
bsObj = BeautifulSoup(html.text,"html.parser")
client = MongoClient('localhost', 27017)
db = client.db
co = db.recall_info
def save_data(data):
    co.insert(data)
   
for link in bsObj.findAll("tr"):
    i = 0
    title = ""
    publicationDate = ""
    startDate = ""
    url = ""
    # tdタグ
    for link_info in link.findAll("td"):
        a = link_info.findAll("a")
        link = str(link_info.findAll("p"))
        link_array = link.split("\"")
        # URLの取得
        if len(link_array) > 1:
            url = "https://www.recall.caa.go.jp" + link_array[1]
        text = link_info.get_text()
        # 件名の取得
        if i == 2:
            title = str(text)
        # 掲載日の取得
        if i == 3:
            publicationDate = text
        # 対応開始日の取得
        if i == 4:
            startDate = text
        i += 1
    # mongoDBに保存する形式に整形
    data = {"title":title, "publicationDate":publicationDate, "startDate":startDate, "url":url}
    save_data(data)
   
data = [d for d in db['recall_info'].find()]
for d in data:
    print(d)

結果

?rcl=00000021546&screenkbn=01'}
{'_id': ObjectId('5d384cdfe721af8bcaf84d2d'), 'title': 'エーディテクノ「液晶ディスプレイ:LCD1330シリーズ」(2017年11月 ~2018年3月に販売) - 点検修理', 'publicationDate': '2018/11/02', 'startDate': '2018/10/25', 'url': 'https://www.recall.caa.go.jp/result/detail.php?rcl=00000021242&screenkbn=01'}
{'_id': ObjectId('5d384cdfe721af8bcaf84d2e'), 'title': 'SUNVALLEY\u3000JAPAN「ワイヤレス充電器(スマートフォン用)」(2018年8月~10月に販売) - 交換', 'publicationDate': '2018/11/02', 'startDate': '2018/11/01', 'url': 'https://www.recall.caa.go.jp/result/detail.php?rcl=00000021245&screenkbn=01'}
{'_id': ObjectId('5d384cdfe721af8bcaf84d2f'), 'title': 'エレコム「無線LANルーター」(2017年10月以降に発売) - 注意喚起', 'publicationDate': '2018/08/16', 'startDate': '2018/07/30', 'url': 'https://www.recall.caa.go.jp/result/detail.php?rcl=00000020621&screenkbn=01'}
{'_id': ObjectId('5d384cdfe721af8bcaf84d30'), 'title': 'メイヤンパワー新エネルギー有限公司「ポータブル電源「PS5B」用ACアダプター」 - 交換/回収', 'publicationDate': '2018/02/26', 'startDate': '2018/02/14', 'url': 'https://www.recall.caa.go.jp/result/detail.php?rcl=00000019401&screenkbn=01'}
{'_id': ObjectId('5d384cdfe721af8bcaf84d31'), 'title': '三菱重工「エアコン」(1999年10月~2007年に製造) - 点検修理', 'publicationDate': '2018/01/15', 'startDate': '2018/01/11', 'url': 'https://www.recall.caa.go.jp/result/detail.php?rcl=00000019143&screenkbn=01'}
{'_id': ObjectId('5d384cdfe721af8bcaf84d32'), 'title': '大河商事「蓄熱式電気ゆたんぽ:エネタンポ4/ベーシックタイプ」(2014年10月~2015年2月に販売) - 交換/回収', 'publicationDate': '2018/01/10', 'startDate': '2018/01/10', 'url': 'https://www.recall.caa.go.jp/result/detail.php?rcl=00000012219&screenkbn=01'}
{'_id': ObjectId('5d384cdfe721af8bcaf84d33'), 'title': 'コミネ「電熱手袋用バッテリー及び充電器」(2013年~2017年に販売) - 交換', 'publicationDate': '2018/01/05', 'startDate': '2018/01/05', 'url': 'https://www.recall.caa.go.jp/result/detail.php?rcl=00000019068&screenkbn=01'}
{'_id': ObjectId('5d384cdfe721af8bcaf84d34'), 'title': '富士通ゼネラル「エアコン室内機」(2017年製) - 修理', 'publicationDate': '2017/11/27', 'startDate': '2017/11/20', 'url': 'https://www.recall.caa.go.jp/result/detail.php?rcl=00000018880&screenkbn=01'}
{'_id': ObjectId('5d384cdfe721af8bcaf84d35'), 'title': 'エコスタイル「100Vコンセントプラグ付きLEDイルミネーション」(2015年10月18日以降に販売) - 返金/回収', 'publicationDate': '2017/10/30', 'startDate': '2016/10/28', 'url': 'https://www.recall.caa.go.jp/result/detail.php?rcl=00000018687&screenkbn=01'}

 

Robo 3T