问题描述
下面是一个工作应用程序的片段:
for i in range(10):
html_text = requests.get(url,params={'pi': str(i)}).text
soup = BeautifulSoup(html_text,'lxml')
print(soup.contents)
products = soup.find_all("div",{"class": "p-card-wrppr"})
for product in products:
product_id = product['data-id']
product_name = product.find("div",{"class": "prdct-desc-cntnr-ttl-w two-line-text"}).find("span",{"class": "prdct-desc-cntnr-name"})["title"]
price = product.find_all("div",{"class": "prc-Box-sllng"})[0].text
cursor.execute("INSERT INTO products VALUES (?,?,?)",(product_id,product_name,price))
print(product_id,price)
db.commit()
db.close()
这是一个非常简单的 TCP/IP 客户端/服务器。它从客户端接收消息(在这种情况下,来自 android 应用程序)并将接收到的消息发送回(到客户端)。然而,很明显,网络中的任何操作都与错误的出现相关联,这些错误很容易导致此应用程序崩溃,并且必须再次运行。例如:
import net
class TcpReceiver :
task_ := null
constructor _port:
task_ = task:: receiveTcp _port
receiveTcp listenPort :
network_interface := net.open
while true :
waitingTcpMessage network_interface listenPort
print "<<<<<<< receiveTcp EXIT >>>>>>>"
sendMessage interface clientAddress/string port/int text/string :
clientSocket := interface.tcp_connect clientAddress port
clientSocket.write "$clientAddress:$text"
clientSocket.close
waitingTcpMessage interface port/int :
serverSocket := interface.tcp_listen port
print ("Waiting for a TCP message ...")
socket := serverSocket.accept
data := socket.read
clientAddr := socket.peer_address.ip.stringify
print ("[$clientAddr]->[$data.to_string]")
sendMessage interface clientAddr port "[$data.to_string]"
serverSocket.close
main :
TcpReceiver 1234
处理此类错误的最简单方法是使用诸如try..catch..finally 之类的结构。但是为此,您至少需要知道哪些函数能够抛出异常。在这种情况下,只有两个这样的操作是显而易见的:socket.read 和 socket.write。它们可以用 try..finally 包裹,没问题。但问题仍然存在:这些是唯一需要这种保护的操作,还是其他操作? TOIT 上最安全的 TCP/IP 客户端/服务器应该是什么样子的(即使像这里这样的功能最少)?
预先感谢您的回答,MK。
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)