未分類

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

チームの開発基盤を今やるなら?

ソースコード管理 GitLab プルリクベース、プルリクしてレビュー。 コミュニケーション基盤はSlack。 プロジェクト管理は、redmine?JIRA? CDはJenkins。 インフラはAWS。 …

no image

Googleのn-gramデータがすごい

10年前のこの記事 発想がすごいなって思いました。 web全体の解析 数千台規模の計算機クラスタを使用 解析に使ったのは、MarReduceだそうです。

no image

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

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

no image

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

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

no image

昇進 政治的、給料 経済的 そんか楽しみしか知らない。 勝つことよりも、強くなること。 真の強者は勝つことだけを求めない。むしろ、負けたときの過程にこそ意味を見出だせるものこそ真の強者である。 考える …