934926.jpg

韶华の

GF  2020-08-09 13:48
(仓鼠症重度患者;代下115磁力,50sp/G;更多看简介)

[全年龄正常向]python相关,soup的使用中时间的问题

我需要提取投稿时间,但是网页源代码经过soup处理过之后有一些变化

希望能指点下

(点击图片可查看大图)

网页源代码:


soup之后的代码:


个人程序运行的代码:


遇到的问题:
原本的时间变成了一串数字,不知道怎么处理

第二个是我希望将topic  reply和postdate的信息拼合到一起,有什么比较简单的做法吗?(我上面注释掉的for循环后面两个是错误的)
此帖悬赏结束
最佳答案: 200 SP币
最佳答案获得者: fe2ce5bb

none.gif

fe2ce5bb

回 7楼(韶华の) 的帖子

原来你是要存成一个n行3列的数据格式,还要能以不同的列作为排序的key啊,那么pandas再合适不过了,分析数据很常用,建议简单学习一下,不太难的。pandas还能导出成csv格式,直接用excel打开岂不美哉
最佳答案奖励: (+200) SP币

none.gif

fe2ce5bb

我没写过爬虫,但是时间变成那串数字我知道,你可以去查一下unix时间戳
热心助人奖励: (+1) SP币

main_cc25a26b_2992fd3d671369a7b.jpg

十三须!

B3F  2020-08-09 19:26
(活力迸发中)
直接输出为字符串 format就行
要储存的话json xml csv也可以
热心助人奖励: (+1) SP币

934926.jpg

韶华の

B4F  2020-08-09 16:27
(仓鼠症重度患者;代下115磁力,50sp/G;更多看简介)
顶一下

934926.jpg

韶华の

B5F  2020-08-09 16:38
(仓鼠症重度患者;代下115磁力,50sp/G;更多看简介)
时间的问题  是时间戳转换成易读格式 就行了  

那么现在这个多个信息怎么拼凑比较好呢?

none.gif

fe2ce5bb

如果是要把数据组织成表格那这类型的,不妨去看看pandas包

none.gif

fe2ce5bb

因为我主要是用Python做机器学习,对网页什么的了解不深,不太清楚你这个具体是在做什么,给不出更好的办法了

934926.jpg

韶华の

B8F  2020-08-09 17:56
(仓鼠症重度患者;代下115磁力,50sp/G;更多看简介)
明确一下我想要输出的内容

我需要reply中的“回复数”,可以通过r.get_text()来获取

topic中的标题,可以用t.get_text()来获取

postdate中的投稿时间,可以用p.get_text()来获取

但是我需要将这些信息整合在一起,然后输出,(后面还希望可以按照回复数或者投稿时间来排序)

pandas正在看,有点难

大佬如果有更好的或者比较简单的方法,还望回复下     

934926.jpg

韶华の

B9F  2020-08-09 18:16
(仓鼠症重度患者;代下115磁力,50sp/G;更多看简介)
pandas是将列表转换成数据框  再用数据框进行提取  再排序

emmmm   ,这是我理解的,但是感觉是不是搞麻烦了,

跪求个大佬     

none.gif

fe2ce5bb

想要简单一点就用list存,list里面的每个元素是包含你需要的三个元素一个list或者tuple,排序时给sort函数传入一个key参数来确定根据tuple中第几个元素进行排序

934926.jpg

韶华の

B11F  2020-08-10 11:20
(仓鼠症重度患者;代下115磁力,50sp/G;更多看简介)
看了一点资料,勉强算是能解决问题了,
这个行代码
df.to_excel(outputpath,index=False, header=False)
如果变成
df.to_excel(outputpath,sep='\t',,index=False, header=False)
会报错
to_excel() got an unexpected keyword argument  about “sep”
去掉这个参数后运行正常

以下为自己的代码仅供参考(需要安装相关库)

        ser1 = pd.Series(topics)
        ser2 = pd.Series(replies)
        ser3 = pd.Series(postdates)
        df = pd.DataFrame({'col1': ser1, 'col2': ser2, 'col3': ser3})
        df.sort_values('col3')
        print(df)

        outputpath = 'c:/Users/NGA.xlsx'
        df.to_excel(outputpath,index=False, header=False)