Python
scraping

【Python】Linkを取得したいときのスクリプト-初歩

はじめに

昔、自然言語処理領域でのデータ集めのためにスクレイピングのスクリプトを作ってました。
昔のログをあさっていたら、その際のスニペットが発掘されたので、このまま闇に葬るのもあれなので
Qiita上にアップロードします。

かなり初歩的なリンクのみを抜き出すスクリプトで、phantomJSを使用しているのでSPAページからリンクを抜き出したかったのかと思います(すっとぼけ)。

きっとurl が正しく指定されているならば、きっと動くはず。。。

スクリプト

get_links_by_phantomjs.py
import functools as ft
import lxml.html
from selenium import webdriver
import re

def get_link():
    driver = webdriver.PhantomJS()
    for page in range(1,12+1):
        url = f"http://ssmania.info/category/%E3%83%87%E3%83%AC%E3%83%9E%E3%82%B9?page={page}"
        driver.get(url)
        root = lxml.html.fromstring(driver.page_source)

        link_urls = [link_element.get("href") for link_element in root.cssselect('a.articlelink')]
        print(link_urls)
        yield link_urls

get_link_gen = get_link()

with open("linkes.dat", "w") as f:
    for links in get_link_gen:
        for link in links:
            print(link)
            f.write(link)