2
我想從一個給定的網站獲得高爾夫球場的詳細列表。我創建了一個刮刀工具來刮掉美國不同高爾夫球場的名稱和地址。<br>標籤搞砸我的數據從使用美麗的湯和蟒蛇刮
我的問題是,在我能夠刮的地址。我注意到在第一行文本和第二行文本之間沒有空格,當我把它們寫入我的CSV文件時。在HTML文件中,我注意到兩行文本之間用<br>
標記分隔。
如何在我的代碼中執行此操作,以便我刮取的兩行文本在刮到CSV時將在它們之間提供空格?
下面是HTML的樣子我想湊這個樣子的:
<div class="location">10924 Verterans Memorial Dr<br>Abbeville, Louisiana, United States</div>
和我的代碼,刮它看上去是這樣的輸出:
10924 Verterans Memorial DrAbbeville, Louisiana, United States
注意, 「紀念博士」和「阿比維爾」之間沒有空格。如何修改它以便在刮擦時提供空間?
這裏是我的代碼:
import csv
import requests
from bs4 import BeautifulSoup
courses_list = []
geolocator = ArcGIS()
for i in range(1):
url="http://sites.garmin.com/clsearch/courses/search?course=&location=&country=US&state=&holes=&radius=&lang=en&search_submitted=1&per_page={}".format(i*20)
r = requests.get(url)
soup = BeautifulSoup(r.text, 'lxml')
#print soup
g_data2 = soup.find_all("div",{"class":"result"})
#print g_data2
for item in g_data2:
try:
name = item.find_all("div",{"class":"name"})[0].text
print name
except:
name=''
print "No Name found!"
try:
address= item.find_all("div",{"class":"location"})[0].text
print address
except:
address=''
print "No Address found!"
course=[name,address]
courses_list.append(course)
with open ('geotest.csv','wb') as file:
writer=csv.writer(file)
for row in courses_list:
writer.writerow(row)