前提・実現したいこと
webスクレイピングした要素をlistに格納したい。
ここに質問の内容を詳しく書いてください。
(例)
python3.7.3の環境でwebスクレイピングを行っています。
現在業務の一環でwebスクレイピングを活用し情報を収集しています。
今回はホームページからurlをスクレイピング→リストに格納→リストから再スクレイピング→リストに格納です。
2回目のスクレイピングまでうまくいったのですが、スクレイピングしたものをリストの最初の行から取得した要素のみ格納され、2行目以降のurlから取得した要素が格納出来ません。
格納方法をご教授願います。
原因をご教授願います。
発生している問題・エラーメッセージ
エラーメッセージ
エラーメッセージはございません。下から2行目にて要素取得に成功しているのですが、最終行で取得した要素をリストに格納すると1つ目のみ格納となります。 ### 該当のソースコード from bs4 import BeautifulSoup import urllib.request as req import urllib import os import time from urllib.parse import urljoin import requests from bs4 import BeautifulSoup #URLを指定 url ='https://www.jpubb.com/glist.php?industry=%E9%8A%80%E8%A1%8C' #GETリクエストを送信 reqs = requests.get(url) #URLをテキスト化し、解析を行う。その後BeautifulSoupオブジェクトを作る soup = BeautifulSoup(reqs.text, 'html.parser') #空のurlsのリストを用意 urls = [] #全てのaタグをループ処理し、hrefで指定されたURLを出力する for link in soup.find_all(class_="bold"): print("https:"+link.get('href')) tmp = "https:"+link.get('href') urls.append(tmp) #*****************************ここまでが元のurlを取得する作業。urlsの要素数は100************* #URLを指定 baseurl_list =urls for urls in baseurl_list: #GETリクエストを送信 reqs = requests.get(url) #URLをテキスト化し、解析を行う。その後BeautifulSoupオブジェクトを作る soup = BeautifulSoup(reqs.text, 'html.parser') #空のpdfurlのリストを用意 pdfurl = [] #hrefで指定されたURLを出力する for link in soup.find_all(target="_blank"): print(link.get('href')) pdfurl.append(link.get) ****************************************************************************************** ```ここに言語名を入力 ソースコード
試したこと
ここに問題に対して試したことを記載してください。
list1=['https://www.jpubb.com/press/2974596/']
list2=['https://www.jpubb.com/press/2974600/']
URL=[]
URL[len(URL):len(URL)]=func(list1)
URL[len(URL):len(URL)]=func(list2)
1つづつurlを分けて入力したところリストに格納されましたが、上記方法の応用する方法が分からず、困っています。
よろしくお願いいたします。
補足情報(FW/ツールのバージョンなど)
ここにより詳細な情報を記載してください。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2022/01/06 04:13
2022/01/06 05:03
2022/01/06 05:55