Programlama ve python konusunda yeniyim ve DC bikeshare programında belirli bir istasyondaki mevcut bisiklet sayısına erişmeye çalışıyorum. Bunu yapmanın en iyi yolunun BeautifulSoup ile olduğuna inanıyorum. https://www.capitalbikeshare.com/data/stations/bikeStations.xmlBeautifulSoup DC bikeshare'de mevcut bisikletlere erişmek için
Burada istasyonun bir örnek:: Ben <nbBikes>
değeri arıyorum
<station>
<id>1</id>
<name>15th & S Eads St</name>
<terminalName>31000</terminalName>
<lastCommWithServer>1460217337648</lastCommWithServer>
<lat>38.858662</lat>
<long>-77.053199</long>
<installed>true</installed>
<locked>false</locked>
<installDate>0</installDate>
<removalDate/>
<temporary>false</temporary>
<public>true</public>
<nbBikes>7</nbBikes>
<nbEmptyDocks>8</nbEmptyDocks>
<latestUpdateTime>1460192501598</latestUpdateTime>
</station>
iyi haber verileri burada temiz bir biçim gibi görünen mevcut olmasıdır. İlk 5 istasyonun değerini gösterecek bir python betiğinin başlangıcı olacağını düşündüğüm şey vardı (bunu bir kez kontrol altına aldığım istasyonu seçmekle uğraşacağım) ama herhangi bir değer vermez.
# bikeShareParse.py - parses the capital bikeshare info page
import bs4, requests
url = "https://www.capitalbikeshare.com/data/stations/bikeStations.xml"
res = requests.get(url)
res.raise_for_status()
#create the soup element from the file
soup = bs4.BeautifulSoup("res.text", "lxml")
# defines the part of the page we are looking for
nbikes = soup.select('#text')
#limits number of results for testing
numOpen = 5
for i in range(numOpen):
print nbikes
benim sorunu (bir yığın taşması söz konusu kodu doğru biçimlendirmek için nasıl anlamak değil yanı sıra) nbikes = soup.select('#text')
değeri yanlış olduğunu olduğuna inanıyoruz: İşte senaryo. Bununla birlikte, istediğim şeyleri bırakmadan, herhangi bir değer elde etmek için '#text' için herhangi bir şeyin yerini alamıyorum.
Buna doğru şekilde yaklaşıyor muyum? Öyleyse, neyi özlüyorum?
sayesinde
Eğer xml formatında veri alıyorsanız eğer xmletree kullanarak bunu deneyin. – bhansa
Teşekkürler! Benim sorunumun büyük bir kısmı xml için BeautifulSoup kullanmaya çalışıyor olabilir. Temelde bu yeni bir betik oluşturmaya çalıştım: 'import xml.etree.ElementTree ET tree = ET.ElementTree ('https://www.capitalbikeshare.com/data/stations/bikeStations.xml') kökü = tree.getroot() yazdırma kökü ' – mweinberg
Bu URL'yi döndürür. Root1 = ET.fromstring ('station') print root1 'gibi satırlarla yapıya daha derinlemesine girmeye çalışıyorum sözdizimi hatalarını bana iletiyor – mweinberg