未分類

Pythonでページ内のリンクを一括抽出する

投稿日:

import requests
import lxml.html

#開始URLにリクエストを投げる
r=requests.get("http://開始URL/")

#レスポンスをパースする
tree=lxml.html.parse(r.content)

#ツリーからHTMLを得る
html=tree.getroot()

#HTMLのAタグを取得する
for a in html.cssselect('a'):

   #Aタグのhref属性を取得する
   print(a.get('href'), a.text)
EOF

内部リンク・外部リンクを判定。
schemeの有無で判定できそう。

関数

リンクをwwwありに整形する
リンクをwwwなしに整形する

urllibが使える。

scheme http://の部分

netloc www.abc.com の部分

いくつかのドメインで検証してみよう。

https://docs.python.jp/3/library/urllib.parse.html

-未分類

執筆者:


comment

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

関連記事

no image

Deep Learningの勉強はここを押さえよう

これが説明できたら、DeepLearningの基本は押さえたと言える。 パーセプトロンとは? パーセプトロンの限界とは パーセプトロンからニューラルネットワークへ ニューラルネットワークからディープラ …

no image

SIerができる価値の高い顧客への提案

いちSIerでも、顧客に提案できることは多い。 根本的な改善であるほど、提案の価値は高くなる。 例 ソースコードの改善 ≫ フレームワークの提案 ≫ アーキテクチャの提案 ≫ 開発体制の提案 ≫ 商品 …

no image

lombok @Dataの循環参照(無限ループ)はこう回避する

@Dataをつけた@Entityの双方向の関連では、循環参照が起きます。 Set xxxSet @EqualsAndHashCode(exclude=xxxSet) @ToString(exclude …

no image

Amazon Redshift

大量データの検索・分析・集計に向いたDBがAmazon Redshiftである。 DWHやBIの基盤になるよう設計されている。分散処理なので大量データでも自動スケールされ、高速な処理が可能である。 A …

no image

アフィリエイト上級バイブル

考え方を替える 小遣い稼ぎ・副業 → 営利事業 事業計画、目標数値を明確にし、その実現のための手段を考えて実行する。これが必須である。 競争の激しいジャンルで、ニッチなポジションを狙う。安易にニッチな …