Help us understand the problem. What is going on with this article?

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

More than 1 year has passed since last update.

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

事前準備

事前準備として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インストール編ー

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

Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away