![](/img/trans.png)
[英]Why does my Python pygame program close immediately after launch?
[英]Why does my Python program close after running the first loop?
我是Python和Scrap的新手。 我正在嘗試運行兩個循環。 一個人從一頁抓取ID。 然后,使用這些ID,我調用另一個API以獲取更多信息/屬性。
但是,當我運行該程序時,它只運行了第一行代碼(獲取了ID),但隨后卻關閉了,而沒有運行第二部分。 我覺得我在這里缺少關於Python控制流的一些基本知識。 當我在Terminal中運行Python時,為什么它在第一個循環后關閉?
import requests
import csv
import time
import json
from bs4 import BeautifulSoup, Tag
file = open('parcelids.csv','w')
writer = csv.writer(file)
writer.writerow(['parcelId'])
for x in range(1,10):
time.sleep(1) # slowing it down
url = 'http://apixyz/Parcel.aspx?Pid=' + str(x)
source = requests.get(url)
response = source.content
soup = BeautifulSoup(response, 'html.parser')
parcelId = soup.find("span", id="MainContent_lblMblu").text.strip()
writer.writerow([parcelId])
out = open('mapdata.csv','w')
with open('parcelIds.csv', 'r') as in1:
reader = csv.reader(in1)
writer = csv.writer(out)
next(reader, None) # skip header
for row in reader:
row = ''.join(row[0].split())[:-2].upper().replace('/','-') #formatting
url="https://api.io/api/properties/"
url1=url+row
time.sleep(1) # slowing it down
response = requests.get(url1)
resp_json_payload = response.json()
address = resp_json_payload['property']['address']
writer.writerow([address])
如果您在Windows中運行(文件名不區分大小寫),則當您重新打開文件以進行讀取時,您可以打開的文件(parcelids.csv)仍然處於打開狀態。
嘗試關閉文件,然后再打開文件以進行讀取。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.