def get_detail(self,page_source): result = [] htmls = etree.HTML(page_source) count = htmls.xpath('//*[@id="pl_feedlist_index"]/div[2]/div') temp="" list_1 = [] # creat_time ="".join(htmls.xpath('//*[@id="pl_feedlist_index"]/div[2]/div[1]/div/div[1]/div[2]/div[2]/a[1]/text()')).strip(" ").strip("\n").strip("\u3000").strip("\u200b") creat_time ="".join(htmls.xpath('//*[@id="pl_feedlist_index"]/div[2]/div/*/div/div[1]/div[2]/div[2]/a[1]/text()')).strip(" ").strip("\n").strip("\u3000").strip("\u200b") user_name ="".join(htmls.xpath('//*[@id="pl_feedlist_index"]/div[2]/div[1]/div/div[1]/div[2]/div[1]/div[2]/a/text()')).strip(" ").strip("\n").strip("\u3000").strip("\u200b") title ="".join(htmls.xpath('//*[@id="pl_feedlist_index"]/div[2]/div[1]/div/div[1]/div[2]/p[1]/a[1]/text()')).strip(" ").strip("\n").strip("\u3000").strip("\u200b") # text ="".join(htmls.xpath('//*[@id="pl_feedlist_index"]/div[2]/div[1]/div/div[1]/div[2]/p[2]/text()')).strip(" ").strip("\n").strip("\u3000").strip("\u200b") text ="".join(htmls.xpath('//*[@id="pl_feedlist_index"]/div[2]/div/div/div[1]/div[2]/p/text()')).strip(" ").strip("\n").strip("\u3000").strip("\u200b") list_1 =[str(creat_time),str(user_name),str(title),str(text)] result.append(list_1) titles=full3+'\\'+user_name+'.txt' f = open(titles,'a',encoding='utf-8',newline='') f.write(str(creat_time)+"\n") f.write(str(user_name)+"\n") f.write(str(title)+"\n") 怎么修改这段代码能够使得文本内容在不同用户名下存储
时间: 2024-03-07 11:50:29 浏览: 47
基于curl数据采集之单页面并行采集函数get_htmls的使用
您可以将 `titles=full3+'\\'+user_name+'.txt'` 这一行代码放在 `user_name` 的赋值语句下方,这样每次处理一条微博时,都会根据 `user_name` 的不同来创建不同的文件。
修改后的代码如下所示:
```
def get_detail(self, page_source):
result = []
htmls = etree.HTML(page_source)
count = htmls.xpath('//*[@id="pl_feedlist_index"]/div[2]/div')
temp = ""
list_1 = []
# creat_time ="".join(htmls.xpath('//*[@id="pl_feedlist_index"]/div[2]/div[1]/div/div[1]/div[2]/div[2]/a[1]/text()')).strip(" ").strip("\n").strip("\u3000").strip("\u200b")
creat_time ="".join(htmls.xpath('//*[@id="pl_feedlist_index"]/div[2]/div/*/div/div[1]/div[2]/div[2]/a[1]/text()')).strip(" ").strip("\n").strip("\u3000").strip("\u200b")
user_name ="".join(htmls.xpath('//*[@id="pl_feedlist_index"]/div[2]/div[1]/div/div[1]/div[2]/div[1]/div[2]/a/text()')).strip(" ").strip("\n").strip("\u3000").strip("\u200b")
title ="".join(htmls.xpath('//*[@id="pl_feedlist_index"]/div[2]/div[1]/div/div[1]/div[2]/p[1]/a[1]/text()')).strip(" ").strip("\n").strip("\u3000").strip("\u200b")
# text ="".join(htmls.xpath('//*[@id="pl_feedlist_index"]/div[2]/div[1]/div/div[1]/div[2]/p[2]/text()')).strip(" ").strip("\n").strip("\u3000").strip("\u200b")
text ="".join(htmls.xpath('//*[@id="pl_feedlist_index"]/div[2]/div/div/div[1]/div[2]/p/text()')).strip(" ").strip("\n").strip("\u3000").strip("\u200b")
list_1 =[str(creat_time),str(user_name),str(title),str(text)]
titles = full3+'\\'+user_name+'.txt'
f = open(titles,'a',encoding='utf-8',newline='')
f.write(str(creat_time)+"\n")
f.write(str(user_name)+"\n")
f.write(str(title)+"\n")
f.close()
result.append(list_1)
```
这样就可以实现将不同用户的微博内容存储在不同的文件中了。
阅读全文