分からないこと
ビッグカメラ公式サイトをスクレイピングをしていて「次のページ」に推移するためのURLをfindで取得するのですが、取得したURL内の&が&に変換されて次のページに推移ができません。
ちなみにJupyter labで実行しているのですがanacondaプロンプトで「pyファイル」形式の同じコードを実行すると正常な目的のURLを取得できます。
下記「URLの違い」に記載していますが、取得したURLの「&」を「&」に変換する方法はありますか?
参考情報
●サイトはビッグカメラの公式サイトです。
→https://www.biccamera.com/bc/category/?q=laptop&rowPerPage=100
●「laptop」という検索ワードで商品検索をしています。
●件数の箇所を「25件」→「100件」に変更しています。
参考画像
ソースコード
Python
1from bs4 import BeautifulSoup as bs 2import pandas as pd 3import requests 4from datetime import datetime 5import time 6import re 7 8# ターゲットURL 9url = "https://www.biccamera.com/bc/category/?preC=0&preQ=luptop&q=laptop&rowPerPage=100#bcs_resultTxt" 10 11##### 12#省略 13##### 14 15domain = "https://www.biccamera.com" 16for res in soup.find_all(class_="bcs_l"): 17 # aタグがあれば 18 if res.find("a"): 19 print(domain + res.find("a").get("href")) 20 else: 21 print("Non") 22 23 print("*"*100)
URLの違い
text
1# 正しいURL(.pyファイルをAnacondaプロンプトで実行) 2https://www.biccamera.com//bc/category/?preC=0&preQ=luptop&q=laptop&rowPerPage=100&p=2#bcs_resultTxt 3**************************************************************************************************** 4 5# 不正なURL(Jupyter labで実行) 6https://www.biccamera.com//bc/category/?preC=0&preQ=luptop&q=laptop&rowPerPage=100&p=2#bcs_resultTxt 7****************************************************************************************************
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。