Pythonのライブラリの紹介です。それぞれの説明と使用例は以下になります。
L 133. scrapy(Webスクレイピングとクローリング)
Scrapy は高速で拡張性のある Web スクレイピング & クローリングフレームワークです。大量のページからのデータ抽出や、構造化データ(JSON, CSV等)への保存に適しています。
▼主な機能
高速かつ非同期なクローリング(Twistedベース)
XPath, CSSセレクタによるデータ抽出
アイテムパイプラインでデータの前処理や保存
ミドルウェアでユーザーエージェントやプロキシの制御が可能
▼インストール
pip install scrapy
▼使い方
import scrapy
class ExampleSpider(scrapy.Spider):
name = “example”
start_urls = [‘https://quotes.toscrape.com/’]
def parse(self, response):
for quote in response.css(‘div.quote’):
yield
‘text’: quote.css(‘span.text::text’).get(),
‘author’: quote.css(‘small.author::text’).get(),
▼bash
scrapy runspider example_spider.py -o quotes.json
L 134. lxml(XML/HTMLパーサー)
lxml は非常に高速かつ柔軟な XML / HTML パーサー です。XPath や XSLT を使った複雑な解析にも対応しており、HTMLスクレイピングにもよく使われます。
▼主な機能
HTML/XML のパースと整形
XPath / CSSセレクタ対応
要素の追加・削除・編集が簡単
バリデーションや名前空間対応
▼インストール
pip install lxml
▼使い方
from lxml import html
tree = html.fromstring(“<div><p>Hello <b>World</b></p></div>”)
text = tree.xpath(‘//p/text()’) # [‘Hello ‘]
bold = tree.xpath(‘//b/text()’) # [‘World’]
print(text, bold)
※ <と>は半角記号に変換
L 135. selenium(ブラウザ操作を自動化)
Selenium はブラウザを自動操作するためのライブラリで、JavaScript を使用した動的なサイトのデータ取得に非常に強力です。ChromeやFirefoxを実際に操作して人間のようにWebページにアクセスします。
▼主な機能
ブラウザ操作(Chrome, Firefox, Edge等)
ボタンクリックやテキスト入力などの自動化
JavaScriptの実行、スクリーンショット撮影
ページ遷移や待機制御
▼インストール
pip install selenium
▼使い方
from selenium import webdriver
from selenium.webdriver.common.by import By
driver = webdriver.Chrome()
driver.get(“https://example.com”)
element = driver.find_element(By.TAG_NAME, “h1”)
print(element.text)
driver.quit()
※使用にはブラウザ用ドライバ(例:chromedriver)のインストールが必要です。
コメント