※Pythonの初心者で、ウェブスクレイピングの勉強中に起きた問題です。質問情報の不足がございましたら、ご教授くださいませ。
前提・実現したいこと
特定のURLのウェブスクレイピングの際に、複数条件を指定して、1行にまとめたいです。
URL:https://nekochan.jp/cat/category/i-want-a-cat
HTML
1<div class="post_loop"> 2<div class="post_loop_item "> 3 <a href="https://nekochan.jp/cat/article/5459"> 4 <figure> 5 <img src="https://cdn.wanchan.jp/c/nekochan.jp/pro/crop/120x120/center/2/eed8f70e8012c6b87d44418302f9dcb8.jpg" alt="一人暮らしでも飼いやすい猫の種類8つ、飼う前に確認する事"> 6 </figure> 7 <div class="post_loop_info"> 8 <div class="post_title"> 9 一人暮らしでも飼いやすい猫の種類8つ、飼う前に確認する事 </div> 10 <div class="bottom"> 11 <p class="post_pre_title">一人暮らしで猫を飼おうかと、悩んでいる人におすすめな猫の種類を紹介します。一人暮らしで猫を飼うにはそれなりの覚悟も必要になってきます。飼う前に必要な事は、猫の種類だけで…</p> 12 <div class="view">217 view</div> 13 <div class="writer">JIN</div> 14 </div> 15 </div> 16 </a> 17 </div> 18<div class="post_loop_item "> 19<div class="post_loop_item "> 20<div class="post_loop_item "> 21<div class="post_loop_item ">
希望する出力結果
このHTMLソースファイルの、"post_title"と"URL"と"VIEW"だけを抜き取って、リスト化したいです。
記事1〜3があるとしたら、
1.post_title:url:view数
2.post_title:url:view数
3.post_title:url:view数
のようなリストが作りたいです。最終的にはCSVファイルで保存したいです。
(記事1の例)
一人暮らしでも飼いやすい猫の種類8つ、飼う前に確認する事:https://nekochan.jp/cat/article/5459:217
問題点
1.無駄な空白が出てきてしまう(出力結果の記事タイトルの前後)ので、削除したい
2.authorなど不要な条件を指定する方法が分からない
3.print()ではなくて、CSVに保存する方法がわかりません。
何卒、宜しくお願いいたします。
該当のソースコード
python
1import requests 2from bs4 import BeautifulSoup 3 4r = requests.get("https://nekochan.jp/cat/category/i-want-a-cat") 5 6 7links = soup.find(class_="post_loop").find_all('a') 8for link in links: 9 if 'href' in link.attrs: 10 print(link.text,':',link.attrs['href'])
出力結果
※最初の一行だけ抜粋しています。
一人暮らしでも飼いやすい猫の種類8つ、飼う前に確認する事 一人暮らしで猫を飼おうかと、悩んでいる人におすすめな猫の種類を紹介します。一人暮らしで猫を飼うにはそれなりの覚悟も必要になってきます。飼う前に必要な事は、猫の種類だけで… 69 view JIN : https://nekochan.jp/cat/article/5459

回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2018/10/07 14:23
2018/10/07 20:21