何も考えずにスクレイピングを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して最初の配列を取るとかいう意味不明なことしてますが許して。
楽しい!