お世話になります。
ヤフーニュースのフィード登録の件でおたずねしたいのですが、
なかなか思うように記事を取得できません。
そこで、スクレイピング講座を見て自分なりにやってみましたがうまく行かず
開発者様にメールをしたところ、こちらで質問するようにアドバイスいただきましたので
こちらで続きを投稿します。
まず、これまでメールでお聞きしたことですが
例として以下のRSSから
https://news.yahoo.co.jp/pickup/entertainment/rss.xml
以下の記事を取得したい時に
https://news.yahoo.co.jp/pickup/6357279
フィード登録の「続きを読む要素名」の見つけ方は
上記のページで右クリックし「ページのソースを表示」をクリックし
以下のページを開く。
view-source:https://news.yahoo.co.jp/pickup/6357279
その中で「続きを読む」のリンクのソースコードをさがす。
<p class=\"pickupMain_detailLink\">
<a href=\"https://headlines.yahoo.co.jp/hl?a=20200415-00000002-withnews-
ent\" data-ylk=\"rsec:tpc_main;slk:headline;pos:2;\" data-ual-gotocontent=
\"true\">続きを読む</a>
</p>
その結果、「続きを読む」のリンクは
.pickupMain_detailLink a
であることまで教えていただきました。
ここからはこのフォーラムでお聞きしたいことですが
フィード登録の「続きを読む要素名」に続く
「要素名」の見つけ方です。
まず、以下のページの
https://news.yahoo.co.jp/pickup/6357279
「続きを読む」をクリックした後のページに飛び
↓
https://headlines.yahoo.co.jp/hl?a=20200415-00000002-withnews-ent
ここからソースを取得する、という認識であっているでしょうか?
あっていると仮定して、自分なりにソースコードをさがしました。
「続きを読む」の続きの文章を取得するので
その文章の先頭にある、
.ynDetailText yjDirectSLinkTarget
かなと思いましたが、うまく取得できませんでした。
どこが間違っているか教えていただければ幸いです。
https://news.yahoo.co.jp/pickup/entertainment/rss.xml
続きを読むのセレクタは「.pickupMain_detailLink a」で
取得するページ内セレクタ名は「.article .paragraph」となります。
Yahooのニュース系RSSは大体これで行けるはずです。
無事に投稿できました。
無事に投稿できました。
まさにこの話題で今詰まっている状況です。
スクレイピングを取得にし、
続きを読むのセレクタ 「.pickupMain_detailLink a」
取得するページ内セレクタ名「.article .paragraph」
で設定をしましたが、投稿で表示されるものはタイトルと紹介元のリンク先のみで、
本文自体も表示されません。
テンプレート側の設定が別途必要なのでしょうか。