【Webスクレイピング】Pythonでサイト内のリンク先URLを取得する方法

Python

 本記事では、Pythonでサイト内のリンクURLを取得する方法を紹介する。

環境は下記を想定。
OS:Windows10(64bit版)
Pythonインストール環境:Anaconda3
Pythonバージョン:3.7
エディタ:Jupyter Notebook

本記事は現在ソースコードのみ掲載しており、解説部分は未完成である。
解説部分の記載が完了したらこの注意書きは削除する。

広告
広告

実装例

 下記、プログラムの実装例を示す。
 (未インストールのライブラリがある場合は予めインストールしておくこと。)

from bs4 import BeautifulSoup
import requests
import pandas as pd
import time

url = "https://pictblog.com/sitemap"
response = requests.get(url)
soup = BeautifulSoup(response.text, 'html.parser')
contents = soup.find(class_="entry-content cf")
get_a = contents.find_all('a')

title_list = []
url_list = []

for i in range(len(get_a)):
    try:
        title_ = get_a[i].get("title")
        title_list.append(title_)
        link_ = get_a[i].get("href")
        url_list.append(link_)
    except:
        pass
    
df_title_url = pd.DataFrame({'Title':title_list, 'URL':url_list})
df_notnull = df_title_url.dropna(how='any')
df_notnull.to_csv('output.csv', encoding='utf_8_sig')

 上記プログラムを実行すると、本ブログのサイトマップに掲載されているリンクのテキストとURLを取得し、csvファイルに書き出すことができる。
 (csvファイルは、プログラムが保存されているフォルダにダウンロードされる。)

 

 END

広告

コメント

タイトルとURLをコピーしました