LoginSignup
26
42

More than 5 years have passed since last update.

まだPythonista3使ってないの?ースクレイピング編ー

Posted at

今回は簡単めなスクレイピングについてやりたいと思います。

事前準備

事前準備としてStaShのインストールが必要です。
StaShはPythonista3の中で使えるシェルです。
Pythonista3の基本操作とStaShのインストールについてはこちらを参考にしてください。
まだPythonista3使ってないの?ー基本操作・StaShインストール編ー

beautiful soupをpythonista3にインストール

StaShで、beautiful soupをインストールしていきます

pip install BeautifulSoup

コードを書いていく

ココナラのリクエストボードのタイトルと依頼内容を取得したいと思います。

※ココナラはCtoCのお仕事依頼のサービスです。リクエストボードとは、〇〇をしたいんですけど、誰か仕事引き受けてくれませんか?っていうリクエストをするところです。

とりあえず、やってみた

最初に書いてみたコードはこんな感じです。

image.png

コピペしたい方はこちら

import numpy as np
import urllib. request from bs4
import Beautiful Soup
import matplotlib.pyplot as plt import re

target_url = 'https://coconala.com/ smartphone/requests'
html = urllib. request.urlopen(target_url).read()
root = Beautiful Soup(html, 'html5lib')

titles = root.find_all(class_=' requestdetail-title')
for title in titles:
    print(title.string)

出力結果はこちら

(なぜか曲の作成が2つあるけど、まあいいや・・・)
image.png

このときのリクエストボードの様子がこちら

image.png

もう少しだけ頑張ってみた

タイトルと内容を取得します。

image.png

コピペしたい方はこちらのコードを参考にしてください。

import numpy as np
import urllib.request
from bs4 import BeautifulSoup
import matplotlib.pyplot as plt
import re


target_url = 'https://coconala.com/smartphone/requests'
html = urllib.request.urlopen(target_url).read()
root = BeautifulSoup(html, 'html5lib')

requests = root.find_all(class_='request')

for request in requests:
    title = request.find(class_='request-detail-title').string
    content = request.find(class_='request-detail-content').string
    print('【リクエスト】\n' + title + '\n' + content + '\n\n\n\n')

出力結果はこんな感じ
なぜか空白があるけどそれは置いといて・・・。

image.png

おわりに

実はあんまりpython勉強したことがなくてこれからなんですけど、スマホでちょっとしたスキマ時間にできるのでおすすめです。

他のpythonista3についての記事はこちら

まだPythonista3使ってないの?ー基本操作・StaShインストール編ー

※書いたら随時更新していきます

26
42
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
26
42