我想添加到此程序以将每个crashPoint保存到文本文件中,并将新的崩溃点添加到新行。我试图从过去的工作中做到这一点,但我似乎无法让它一起工作。
#Imports
from bs4 import BeautifulSoup
from urllib import urlopen
import time
#Required Fields
pageCount = 1287528
#Loop
while(pageCount>0):
time.sleep(1)
html = urlopen('https://www.csgocrash.com/game/1/%s' % (pageCount)).read()
soup = BeautifulSoup(html, "html.parser")
try:
section = soup.find('div', {"class":"row panel radius"})
crashPoint = section.find("b", text="Crashed At: ").next_sibling.strip()
except:
continue
print(crashPoint[0:-1])
pageCount+=1
有人可以指出我做错了什么以及如何解决它?
答案 0 :(得分:0)
我没有使用过你正在使用的一些确切的模块,除非他们做了一些奇怪的事情,我无法从中发现。我能看到的问题是......
我认为如果您修复了无限循环并只使用文本文件而不是控制台,那么您将没有问题。
答案 1 :(得分:0)
如果您只是以追加模式打开输出文件,那么这样做非常简单:
#Loop
logFile = open("logFile.txt", "a")
while(pageCount>0):
time.sleep(1)
html = urlopen('https://www.csgocrash.com/game/1/%s' % (pageCount)).read()
soup = BeautifulSoup(html, "html.parser")
try:
section = soup.find('div', {"class":"row panel radius"})
crashPoint = section.find("b", text="Crashed At: ").next_sibling.strip()
logFile.write(crashPoint+"\n")
except:
continue
print(crashPoint[0:-1])
pageCount+=1
logFile.close()
答案 2 :(得分:0)
通过在追加模式下打开数据将数据写入文件。 如果您正在遍历文件循环,只需打开文件一次并继续编写新数据。
with open("test.txt", "a") as myfile:
myfile.write(crashPoint[0:-1])
Here是使用python在文件中追加数据的不同方法。
答案 3 :(得分:-1)
打印到文本文件
from bs4 import BeautifulSoup
from urllib import urlopen
import time
#Required Fields
pageCount = 1287528
fp = open ("logs.txt","w")
#Loop
while(pageCount>0):
time.sleep(1)
html = urlopen('https://www.csgocrash.com/game/1/%s' %(pageCount)).read()
soup = BeautifulSoup(html, "html.parser")
try:
section = soup.find('div', {"class":"row panel radius"})
crashPoint = section.find("b", text="Crashed At: ").next_sibling.strip()
except:
continue
print(crashPoint[0:-1])
#write to file here
fp.write(crashPoint[0:-1]+'\n')
#i think its minus
pageCount-=1
fp.close()