読者です 読者をやめる 読者になる 読者になる

ツタンラーメンの忘備録

プログラミングや精神疾患、ラーメンについて書いていきます。たぶん。

何も考えずにスクレイピングをpythonで始めてみた。

やってみたかったので始めました。王道かなと
scrapy
を入れてみたのですが別に使いやすくないなーと思いました。
入れ方はこちら
Installation guide — Scrapy 1.1.3 documentation

pip install scrapy

で入らなかったので詰んだかなと思ったのですが、上記手順で普通に入った。
あとは適当にごにょごにょ。

でも直感的じゃない。例えばサンプルコードは
Scrapy | A Fast and Powerful Scraping and Web Crawling Framework

class BlogSpider(scrapy.Spider):
    name = 'blogspider'
    start_urls = [url]

    def parse(self, response):
        for title in response.css('h2.entry-title'):
            yield {'title': title.css('a ::text').extract_first()}

        next_page = response.css('div.prev-post > a ::attr(href)').extract_first()
        if next_page:

実行コマンドも

scrapy runspider myspider.py

みたいな感じ。
コンソールにやたら出るし初心者には直感的じゃないよねぇ

というわけでbeautifulSoup4
PythonとBeautiful Soupでスクレイピング - Qiita

超簡単!
リンクが直接は得られないようなので
url.requestを僕は使いました(何度もpip installしようとしたのですが、標準搭載の当たり前の機能でした)

書いたコードがこれ

from bs4 import BeautifulSoup
import urllib.request
html = urllib.request.urlopen(url)

soup = BeautifulSoup(html)

print(soup.find_all("a")[0].get("href"))

find_allして最初の配列を取るとかいう意味不明なことしてますが許して。
楽しい!