cssタグを使用したスクレイピングでQiitaの記事タイトルといいねとリンク抽出
抽出した結果を記事毎に辞書にして、リストに追加する。
from requests_html import HTMLSession
s = HTMLSession()
r = s.get('https://qiita.com/')
### divタグの中のarticleタグ
base = 'div article'
article_list = r.html.find(base)
title_lgtm_dict=[]
for i,v in enumerate(article_list):
dict_unit={}
#タイトル
title_name = v.find('h2')[0].text
dict_unit["title"] = title_name
#いいね
lgt = v.find('.css-1laxd2k')[0].text
dict_unit["lgt"] = lgt
#リンク
link = v.find('h2 a[href]')[0].attrs['href']
dict_unit["link"] = link
#作成した辞書をリストに追加
title_lgtm_dict.append(dict_unit)
実行結果
[{'title': 'IPアドレスの例示で xxx.xxx.xxx.xxx を使うな', 'lgt': '465', 'link': 'https://qiita.com/Targoyle/items/1c5454a41ea4519b0c5f'}, {'title': 'フレッツ光回線でscpが遅かった話', 'lgt': '303', 'link': 'https://qiita.com/tango110/items/c8194d43b46fa2a712d1'}, {'title': 'ググり力、それはエンジニアには必須の能力である', 'lgt': '110', 'link': 'https://qiita.com/dodonki1223/items/955819806297ee554b31'}, {'title': '子育てしながらGitHubに草を1年間生やし続けたら人生が豊かになった話', 'lgt': '90', 'link': 'https://qiita.com/mizo_k/items/c2aba14e77f5fc6f7483'}, {'title': 'なぜエンジニアが作る画面はダサいのか…?「理由」と「対策」を徹底解説【エンジニア向け画面デザイン講座】', 'lgt': '125', 'link': 'https://qiita.com/mskmiki/items/544149987475719e417b'}, {'title': '【超入門】Laravelのデバッグ手法22選', 'lgt': '129', 'link': 'https://qiita.com/ucan-lab/items/29614d0f3ded1d3a94fb'}, {'title': 'カフェでプログラミングしてる風(でも何もやってない)Python(クソ)コード', 'lgt': '60', 'link': 'https://qiita.com/YottyPG/items/e988ebacab94a8f4645f'}, {'title': '安心してコードレビューを出すために最低限やるべき4つのこと', 'lgt': '26', 'link': 'https://qiita.com/taniiiiim/items/87ea8380c9ff948ad4c2'}, {'title': 'Kaggle NFLコンペ紹介(優勝ポエムを添えて)', 'lgt': '53', 'link': 'https://qiita.com/Kmat67916008/items/8ccf0171219036621540'}, {'title': 'ダメな発表はなぜ聞いていてつらいのか?\u3000プレゼンやイベントで 「大事なポイントを伝える」 ための喋り方・話し方のコツ。', 'lgt': '65', 'link': 'https://qiita.com/t2-kob/items/71163cddc4e38993ff30'}, {'title': '【C#】知られざる比較の高速化戦略', 'lgt': '25', 'link': 'https://qiita.com/Kujiro/items/e687b089a0348d989f1b'}, {'title': 'デザイナーがエンジニアと話せるようになるために頑張ったこと', 'lgt': '38', 'link': 'https://qiita.com/xrxoxcxox/items/0e0f8936f17287ed95bd'}, {'title': 'フリート芸術を後世に残すべくWebアプリを作った【Fleets Forever!!】', 'lgt': '40', 'link': 'https://qiita.com/okumura_daiki/items/22d74d3d3c4c2b0001a9'}, {'title': 'Python 1本うどんコード', 'lgt': '23', 'link': 'https://qiita.com/ugis_prog/items/ec33a98bd2b5aa1b0f3e'}, {'title': 'ウェブサイト開発に便利なmacアプリケーションの紹介', 'lgt': '35', 'link': 'https://qiita.com/kkosuke/items/a7c9ea74fcd02d92402f'}, {'title': 'SREの実践、SLI/SLO策定までの道のり', 'lgt': '31', 'link': 'https://qiita.com/sugoto911/items/c6c9fd458abb5b9d9487'}, {'title': 'LINEのおうむ返しbotを作ってみた', 'lgt': '18', 'link': 'https://qiita.com/shinbunbun_/items/15c161dbb649e27ddb2d'}, {'title': '「引き継ぎ」という仕事は無い、かもしれない', 'lgt': '43', 'link': 'https://qiita.com/syo-ryu-kennn/items/e259d034de71a11923b0'}, {'title': '脆弱性検出ツール「Snyk Vulnerability Scanner」 vs. 脆弱性だらけのWebアプリケーション「EasyBuggy」', 'lgt': '34', 'link': 'https://qiita.com/tamura__246/items/5053d9511d54e29c8838'}, {'title': '戻るボタンで「ページ遷移」させてはいけない', 'lgt': '21', 'link': 'https://qiita.com/laineus/items/3b43bf6f347b45cb6f83'}, {'title': 'Apollo ClientのCache機構(fetch policy)を視覚的に理解する', 'lgt': '14', 'link': 'https://qiita.com/shoota/items/8e52ede8ad0524c23b85'}, {'title': 'PlantUML のテキストで書ける Git Flow と PlantUML で描いた Git Epic Flow', 'lgt': '33', 'link': 'https://qiita.com/ogomr/items/36350d515434d6674caa'}, {'title': 'Whatを書くな。Whyを書け。', 'lgt': '16', 'link': 'https://qiita.com/masango/items/dcb8b1af1e7e3a2f1d9a'}, {'title': 'グラフニューラルネットワークでQiitaのタグづけをレコメンドする', 'lgt': '24', 'link': 'https://qiita.com/dcm_hashimotom/items/718cbea25d9b5e2c4e50'}, {'title': '2021年注目のNeRF: Neural Radiance Fieldsの派生論文について被引用数といいねの数でランキングした', 'lgt': '13', 'link': 'https://qiita.com/mitchy3yos/items/957a2222238686254b82'}, {'title': '今年に読んだドメイン駆動設計に関わる書籍たちの感想', 'lgt': '13', 'link': 'https://qiita.com/morry_48/items/a826a927895a31a7f6a4'}, {'title': '食べログのビッグデータ分析基盤をGCPで刷新', 'lgt': '12', 'link': 'https://qiita.com/yang_ming/items/26cf6e33f9d349586e42'}, {'title': 'python 3.10からの新機能 match - case を使ったIF文置き換えの紹介', 'lgt': '14', 'link': 'https://qiita.com/Intel0tw5727/items/6988c62ce4aaa681b151'}, {'title': '株式会社ゆめみ所属メンバの SSH 鍵強度調査', 'lgt': '12', 'link': 'https://qiita.com/hugehoge/items/e47ef0260cc129f255a6'}, {'title': '[OpenCV] 100行で作るAR', 'lgt': '22', 'link': 'https://qiita.com/suo-takefumi/items/231a6f97cd880fe629a5'}]