前提・実現したいこと
全てのページにある案件情報をスクレイピングして、
csvのファイルにまとめたい。
発生している問題・エラーメッセージ
while内のforが二回目以降、反映されません。 forのみwhileのループから外されているようです。
該当のソースコード
python
1from bs4 import BeautifulSoup 2import requests 3import pandas as pd 4import csv 5import time 6import urllib.parse 7import re 8 9num=0 10csvlist = [["","案件リスト","業界"]] 11load_url = "https://www.tranbi.com/buy/list/" 12 13while num>=0: 14 print(num) 15 html = requests.get(load_url) 16 soup = BeautifulSoup(html.content,"html.parser") 17 18 for project in soup.find_all(class_="buyList new flex"): 19 element = project.select_one("h2") 20 industry = project.find(class_="categorySuserIdBox") 21 csvlist.append([num, element.text, industry.text]) 22 num +=1 23 time.sleep(1) 24 print(num) 25 26 next_pages=soup.select_one("[class='pagerNext']") 27 28 if next_pages is None: 29 break 30 else: 31 next_pages2 = next_pages.a['href'] 32 link_url=urllib.parse.urljoin(load_url,next_pages2) 33 load_url=link_url 34 time.sleep(1) 35 36f = open("output.csv","w") 37writecsv = csv.writer(f, lineterminator='\n') 38 39writecsv.writerows(csvlist)
試したこと
「load_url=link_url」をコメントアウトすることで解決したが、
load_urlの更新は必須のため、原因を改名したい
補足情報(FW/ツールのバージョンなど)
ここにより詳細な情報を記載してください。
回答1件
あなたの回答
tips
プレビュー