私は、各ページに10のプロパティリストを持つ、ウェブサイトをスクラップしようとするpython &を学んでいます。各ページの各リスティングから情報を抽出したいと思います。 次のように最初の5ページのための私のコードは次のとおりです。 - 上記のコードは私のために働いていないウェブサイトからデータを取得するためのウェブスクラブ
import requests
from bs4 import BeautifulSoup
urls = []
for i in range(1,5):
pages = "http://www.realcommercial.com.au/sold/property-offices-retail-showrooms+bulky+goods-land+development-hotel+leisure-medical+consulting-other-in-vic/list-{0}?includePropertiesWithin=includesurrounding&activeSort=list-date&autoSuggest=true".format(i)
urls.append(pages)
for info in urls:
page = requests.get(info)
soup = BeautifulSoup(page.content, 'html.parser')
links = soup.find_all('a', attrs ={'class' :'details-panel'})
hrefs = [link['href'] for link in links]
Data = []
for urls in hrefs:
pages = requests.get(urls)
soup_2 =BeautifulSoup(pages.content, 'html.parser')
Address_1 = soup_2.find_all('p', attrs={'class' :'full-address'})
Address = [Address.text.strip() for Address in Address_1]
Date = soup_2.find_all('li', attrs ={'class' :'sold-date'})
Sold_Date = [Sold_Date.text.strip() for Sold_Date in Date]
Area_1 =soup_2.find_all('ul', attrs={'class' :'summaryList'})
Area = [Area.text.strip() for Area in Area_1]
Agency_1=soup_2.find_all('div', attrs={'class' :'agencyName ellipsis'})
Agency_Name=[Agency_Name.text.strip() for Agency_Name in Agency_1]
Agent_1=soup_2.find_all('div', attrs={'class' :'agentName ellipsis'})
Agent_Name=[Agent_Name.text.strip() for Agent_Name in Agent_1]
Data.append(Sold_Date+Address+Area+Agency_Name+Agent_Name)
。目的を達成するための正しいコーディングを教えてください。
は、ループiが –
Iを記載しているページに対して実行されていない,,それはまた、私のサイトの最初のページだけのために結果を与えている変更:これはまた、最終的なページが返されたときに自動的に停止します私のマシン上で動作するコードを更新しました(コードのいくつかの構成)。また、最初の5ページを取得する場合は、範囲は範囲(1,6)にする必要があります。それは助けてくれるでしょう – htn
それは完璧にうまくいっています、あなたの親切な助けをありがとう、 –