我在学习python,有一项任务。 我不得不将刮片结果写入文件,但有一些错误。结果文件中的每个字符串都是“None”,但是当我将这些结果输出到控制台时,它就正常工作了
函数中的takeText
def takeText(self,nameArticleFile):
x=input("Введите слово по которому нужно отыскать статьи\n")
for titlesearch in self.soup1.findAll('item'):
if titlesearch.find(string=re.compile(x)):
self.zagsearch.append(titlesearch.find(string=re.compile(x)))
self.urlsearch.append(titlesearch.find('guid',text=True))
print('Статьи в которых есть вхождение слова:')
for s in range(len(self.zagsearch)):
print(self.zagsearch[s].string)
print('Ссылки на статьи в которых найдено слово:')
for a in range(len(self.urlsearch)):
print(self.urlsearch[a].string)
for b in range(len(self.urlsearch)):
self.response1=urllib.request.urlopen(self.urlsearch[b].string)
self.soup2=BeautifulSoup(self.response1.read())
with open(nameArticleFile, "w") as file:
for i in self.soup2.findAll('p'):
file.write(str(self.searchP.append(i)))
for i in range(len(self.searchP)):
print(self.searchP[i].string)
append()
总是返回None
,所以write(...append())
表示write(None)
你必须写
i
(或者i.string)
,而不是append(i)
在Python中,我们使用
相关问题 更多 >
编程相关推荐