質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
87.20%
Python 3.x

Python 3はPythonプログラミング言語の最新バージョンであり、2008年12月3日にリリースされました。

解決済

URLリストのtxtを読み込んでスクレイピングして、取得した情報をcsvに保存したい

etherwind
etherwind

総合スコア24

Python 3.x

Python 3はPythonプログラミング言語の最新バージョンであり、2008年12月3日にリリースされました。

1回答

0リアクション

1クリップ

1399閲覧

投稿2018/06/17 14:43

編集2018/06/17 16:12

前提・実現したいこと

目当てのサイトから必要な情報を抜き出し、csvに保存するところまではできたのですが、実際にやりたいことまで知恵が及ばず、こちらで質問することにしました。

下記コードで1つのURLの"h2"が取得でき、"news.csv”に保存ができています。
でも本当は、情報を取得したいURLが大量あるのです。

該当のソースコード

現在のコード(sample.py)
──────────

import requests, bs4 import csv res = requests.get('https://news.yahoo.co.jp/pickup/6286588') res.raise_for_status() soup = bs4.BeautifulSoup(res.text, "html.parser") elems = soup.select('h2') for elem in elems: print(elem) with open('news.csv', 'w', encoding='CP932', errors='ignore') as f: writer = csv.writer(f) writer.writerows(elems)

──────────

本題

URLは違うけど、同じサイトの中で、hmtlの骨組みが同じなので、アクセスするURLさえ変えることができれば他はそのままでいいです。

そこで、「URLがリスト化されたファイル"urllist.txt"の内容を読み込んで、一行目のURLから順々にアクセスして"h2"を取得し、csvに書き込んで保存するコード」というイメージでコーディングしたいと思っています。

※urllist.txtの内容
https://news.yahoo.co.jp/pickup/6286588
https://news.yahoo.co.jp/pickup/6286594
https://news.yahoo.co.jp/pickup/6286582

"requests.get"で指定するURLを別のファイルから読み込んで指定する方法、同じ処理を繰り返す方法、などで調べたのですが、必要な回答に辿り着くことができませんでした。
正解例がわかる方、どなたかお願いしますm(__)m

補足情報

・URLとh2に関しては質問用です。
・urllist.txtはテキストファイルじゃなくてもいいです。
・requests.getにこだわりはないです。

以下のような質問にはリアクションをつけましょう

  • 質問内容が明確
  • 自分も答えを知りたい
  • 質問者以外のユーザにも役立つ

リアクションが多い質問は、TOPページの「注目」タブのフィードに表示されやすくなります。

気になる質問をクリップする

クリップした質問は、後からいつでもマイページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

下記のような質問は推奨されていません。

  • 間違っている
  • 質問になっていない投稿
  • スパムや攻撃的な表現を用いた投稿

適切な質問に修正を依頼しましょう。

まだ回答がついていません

会員登録して回答してみよう

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
87.20%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問

同じタグがついた質問を見る

Python 3.x

Python 3はPythonプログラミング言語の最新バージョンであり、2008年12月3日にリリースされました。