Pythonのスクレイピングで特定キーワードを含むレコードを抽出

2020年3月1日日曜日

t f B! P L
以前、幅が70CMの机を探していたのですが、条件を絞っての検索が難しかったので、
PythonのWebスクレイピングを使って条件にあう、商品を抽出するスクリプトを
作成しようとしています。

今回は道半ばですが、以下のようなスクリプトで商品を抽出できそうなので、
紹介します。

# -*- coding: utf-8 -*-
import requests
from bs4 import BeautifulSoup
headers_dic = {"User-Agent""Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/78.0.3904.97 Safari/537.36"}
url="https://item.rakuten.co.jp/xxx/xxxx/"
html=requests.get(url,headers=headers_dic)
soup=BeautifulSoup(html.content,'html.parser')
rows = soup.find_all('tr')
for row in rows:
    for cell in row.findAll(['td''th']):
        if '幅' in cell.text and '\n' not in cell.text:
            print(cell.get_text())

やろうとしたことは楽天のサイトで各商品ページからテーブルで表示されているレコードを抽出し、”幅”という単語が含まれるレコードを書き出しています。

上記を実行するとurlでアクセスしたページの中からレコードを抽出します。

一つの商品ページの中に幅を含むレコードは大量に含まれて、同じようなレコードが大量に抽出されてしまいます。

今後はもう少し、自分の望む検索結果になるように修正していきたいと思います。

PV

PVアクセスランキング にほんブログ村

ブログ村

このブログを検索

自己紹介

システムエンジニアとして12年ほど勤めたあと、社内SEに転職しました。 2017年に転職して、2019年に中古マンションを買いました。

リモートデスクトップのプロキシ越え

社内ネットワークからクラウド上のサーバにリモートデスクトップしたい Azureなどのクラウド環境にWindowsOSを立ち上げると、インターネット経由でリモートデスクトップ接続することになります。会社のネットワークからインターネットにアクセスする場合はプロキシサーバーやファイ...

QooQ