爬取嗅事百科的段子

爬取正文(contents)时,需要转码。

import requests
#from bs4 import BeautifulSoup
import time
import re
headers={    
    #'User-Agent':'Nokia6600/1.0 (3.42.1) SymbianOS/7.0s Series60/2.0 Profile/MIDP-2.0 Configuration/CLDC-1.0'
    'User-Agent':'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/55.0.2883.87 Safari/537.36'
}
info_lists=[]
def judgment_sex(class_name):
    if class_name=='womenIcon':
        return ''
    else :
        return ''
#f=open('C:/Users/Administrator/Desktop/lianxi/qiushi.text','a+')
def get_info(url):
    res=requests.get(url)
    #gbkTypeStr = res.text.encode("GBK", "ignore")
    #gbkTypeStr = res.text.encode("GB18030")
    #print(gbkTypeStr)
    #print(res.text)
    ids=re.findall('<h2>(.*?)</h2>',res.text,re.S)
    levels=re.findall('<div class="articleGender \D+Icon">(.*?)</div>',res.text,re.S)
    sexs=re.findall('<div class="articleGender (.*?)">',res.text,re.S)
    contents=re.findall('<div class="content">.*?<span>(.*?)</span>',res.content.decode('utf-8'),re.S)
    laughs=re.findall('<i class="number">(\d+)</i>',res.text,re.S)
    comments=re.findall('<i class="number">(\d+)</i> 评论',res.text,re.S)
    #print(ids)
    #print(levels)
    #print(sexs)
    print(contents)
    #print(laughs)
    #print(comments)
    
    
    for id,level,sex,content,laugh,comment in zip(ids,levels,sexs,contents,laughs,comments):
        info={
            'id':id,
            'level':level,
            'sex':judgment_sex(sex),
            'content':content,
            'laugh':laugh,
            'comment':comment
        }
        #print("66666666666666666666666666666666666666666666666666666666666")
        
        info_lists.append(info)
        #print(info)



if __name__=='__main__':
    urls=['https://www.qiushibaike.com/text/page/{}/'.format(str(i)) for i in range(1,2)]
    for url in urls:
        get_info(url)
        time.sleep(2)
    for info_list in info_lists:
        #f=open('C:/Users/Administrator/Desktop/lianxi/qiushi.txt','a+')
        f=open('C:/Users/Administrator/Desktop/lianxi/qiushi.text','a+')
        try:
            f.write("姓名:"+info_list['id']+'\n')
            f.write("等级:"+info_list['level']+'\n')
            f.write("性别:"+info_list['sex']+'\n')
            f.write(info_list['content']+'\n')
            f.write("点赞:"+info_list['laugh']+'\n')
            f.write("评论数:"+info_list['comment']+'\n\n')
            f.close()
        except UnicodeEncodeError:
            f.write("失败")
            

 

结果:

姓名:
niangaoni…

等级:23
性别:男

 

刚才看了一篇叫《抖音,快手正在毁掉我们的下一代!!》的文章,我才知道现在的00后,10后后那么逆天!我一个95后经常被他们喊着大叔的人,真的是经常被他们一些行为和语言所震惊!我从来不反感任何一个app,我只是反感一些传播低俗的内容,炫富!秀恩爱!早恋!恶搞在一些短视频上比比皆是,真的是对现在的未成年人影响非常之大!身为单身狗的我真的经常被无形之中伤害!不仅被同龄人问起,更有甚者被小学生所歧视!那天我看见一男一女两个小学生在秀恩爱,我问他们“你们搞对象家长知道吗?”然后那个男同学说“你这么大了还没

点赞:467
评论数:31

姓名:
好吃的焦糖饼干…

等级:84
性别:女

 

早上,我问老爸:现在骗子多,你知道啥是套路吗?老爸摇了摇头!<br/>我笑着说:爸,你给我50块,我告诉你。<br/>没想到,老爸拿出100说:我没50,你给我发50的红包,这钱归你!<br/>老爸领了红包,我拿过100。正笑老爸傻,就听他说:哈,贪心的人才会被套路!<br/>我仔细一看,那100是假的!


点赞:31
评论数:35

姓名:
0巭孬嫑昆0

等级:0
性别:男

 

和老婆去旅游,走过一条独木桥的时候,老婆不小心掉进了河里。过了一会,一个自称河神的家伙冒了出来,举着一头母猪问我“这是你的老婆吗?” “不是,这身材根本不像!”河神回去又扛了一只河马问我“那这是你的老婆吗?” “也不是。”河神无奈地说“那我只能帮你到这了,还有一只你自己下来扛吧!”


点赞:923
评论数:43

姓名:
左二女人

等级:0
性别:男

 

路上看到两个喝醉的中年男人靠在垃圾桶边上,一个男人抱着垃圾桶使劲吐,另外一个男人眯着眼,用一种特语重心长的样子对着边上垃圾桶盖说,吐嘛吐嘛,吐出来就舒服了,重点来了,他还轻轻的拍打着垃圾盖[哀怨][哀怨][哀怨]


点赞:35
评论数:7

姓名:
城城,止于终老

等级:98
性别:女

 

那时,代先生刚参加工作不久的一个晚上,我刚好在生理期(我生理期肚子超级痛),晚上他出去和同事喝酒去了,我就在家里睡下了,后来,我接到他同事电话,叫我出去接他,他喝醉了。<br/>当我出去看见他时,他烂醉如泥,已经无法行走,于是我只好拜托他们同事把他扛到楼上,把他安置在床上。<br/>送走他同事后,我其实挺生气,我生理期,不知道早点回来照顾我,还出去喝酒,而且还喝得不省人事!气归气,没办法,只好照顾他。<br/>开始端水给他洗手洗脸,擦身体(是个夏天,不擦洗一下,会不舒服)。做完这些,已经累到瘫软,浑身是汗。我想你们应该

点赞:4331
评论数:14

姓名:
空穴来鸟

等级:28
性别:女

 

说个男闺蜜的事,他大学毕业后,自己弄了一个养猪场。<br/>这两年生意也不太顺畅。<br/>昨天晚上打电话给我,说喝多了打不开门了,我自然得去看一下了。<br/>我开车去他家没有发现人,在附近找了一圈,最后发现他趴在猪圈门口,正跟猪仔聊着天干杯呢……


点赞:43
评论数:38

姓名:
段子傻妞也

等级:98
性别:女

 

跟女朋友在酒楼大厅吃饭,来了个抱电吉他的小年轻,拖着音响,挨个问每一桌要不要点首曲子,每桌都不耐烦的将他赶走。最后他来到我们这桌,我给钱点了一首,歌手开心的扭开音响,准备开唱。大厅里的其他客人也都扭过头来,想看表演,女朋友唰的搂着碗筷起身,告诉歌手,走,咱去包间小声唱,不给他们听。


点赞:891
评论数:34

姓名:
该用户已渡劫升仙

等级:99
性别:男

 

商场看到一对小情侣吵架,女孩很生气,哭着对男孩喊:你这个大骗子!!本来男孩也是一副生气的样子,听见女孩这样说,一副心疼的表情,抬手抹去女孩脸上的泪水,轻轻的说:吵架归吵架,别骂人啊,你才大屁眼子!


点赞:7
评论数:21

姓名:
王云(笨笨)

等级:25
性别:女

 

我问妈妈:都说酸儿辣女,妈妈,你怀我的时候,是不是特喜欢吃辣?<br/>妈妈说:我怀你的时候就喜欢吃酸辣粉,所以你现在跟假小子似的,没人要你!


点赞:241
评论数:23

姓名:
叫我赵姑娘

等级:25
性别:女

 

我对公司里的男生真是服了,他们是我见过最干净的人 因为每次遇到任何问题他们都推的一干二净,平时还跟妹子抢吃的,哎…单身也不是没有道理的…[生气了][生气了][生气了][生气了]


点赞:14
评论数:17

姓名:
战狼功能饮料

等级:48
性别:男

 

分享一个真实的糗事,当初来外地打工,身上已经没有钱了,迫于无奈,翻起了存折,看到存折还剩20元钱,没有办法,拿着存折去银行,对柜台里面的工作人员说:“麻烦你,取20”工作人员对我说了一句非常让我尴尬的话,她说:”对不起,取20万提前预约”<br/>可能没想到我会取20元钱,以为我把万省略了,但这就是一个在外地打工人的心酸历程,也是我的真实经历


点赞:1705
评论数:38

姓名:
花七七…

等级:28
性别:男

 

在我小学一年级时代,总喜欢强迫性的紧紧的抱一个圆圆软软的小萝莉。<br/>后来她爆发了,找她太奶奶拄着拐杖来教训我,说要吃了我。<br/>吓得我躲门角后不敢出来,连续几天都拉青屎,估计胆都吓破了。


点赞:38
评论数:11

姓名:
花七七…

等级:28
性别:男

 

昨天中午在饭堂,刚出差回来的老张端着餐盘过来,坐在我和老黄对面,开口就问:“听说上星期有俩傻逼在这打架,被老板在大会上批评了,知道是那俩傻逼么?”<br/>于是今天公司召开紧急大会,批评了三个在饭堂打架的傻逼。


点赞:4595
评论数:76

姓名:
夕冬温存

等级:29
性别:女

 

儿子淘气,我揍了他,他赌气要离家出走,我和老公都不阻止他,结果他尴尬的站在门口。<br/>  最后这小子咬咬牙一跺脚,跑回自己屋里捧着存钱罐出来了,对他爸爸说道:“跟我一起走,咱逛窑子去。”


点赞:34
评论数:63

姓名:
我被苍井空包养了

等级:21
性别:男

 

欲成大事者,心肠一定要狠。想当年我们省里一包工头,他儿子开车把市长儿媳妇给撞流产了。这就相当于把市长的孙子或者孙女给弄死了。出了这种事情,市长能够饶过他们家。为了平息市长的怒火。这个包工头当着所有人的面儿,把他儿子腿给打断了。他就这一个独子,也不能把儿子给弄死。有钱人不缺媳妇儿,大不了再娶个。从此以后,这小子把他爸恨死了。有个富家子弟,上学期间和某个官二代打架,他爸替他出头,找人把那官二代揍一顿。结果他爸的公司就黄了。


点赞:3065
评论数:8

姓名:
洛源2

等级:23
性别:女

 

闺蜜拉着我去泡凉水澡,说凉水澡可以增强免疫力身体更暖和,我果断跟她试了一下,你还别说啊!贼管用,昨晚体温36°,今天就39.5°了!不说了,点滴可以不输,闺蜜必须打死!


点赞:21
评论数:32

姓名:
偷惢

等级:28
性别:女

 

想挣个零花钱,就进点小百货在夜市摆地摊,刚摆上就看到城 管在街头晃悠,溜过去看看啥情况,别在是过来收东西的。<br/>观察一会儿,发现城 管只是来逛着玩的,这下安心了。回到我的摊子一看,卧槽,摆好的东西被哪个天 杀的给拿完了!


点赞:1403
评论数:12

姓名:
菜兜兜。

等级:12
性别:女

 

最近在学车背景咯咯咯!<br/>驾校教练对笨得属猪的我说:“你家有车嘛?回家多练练!!!”<br/>今天我又去学车高兴地对教练说:“我最近有练车,我在绝地里开得可好了。还撞死了好多人。”


点赞:23
评论数:9

姓名:
艾玛*^o^*ZW…

等级:24
性别:女

 

审讯室里,我一脸认真无可奈何地说:“ 警察同志 ,你能不能相信我?我真没偷手机,是个误会,我真的是好人。”看着我真诚的面孔,警察冷笑道:“那你怎么去证明?”,我没办法思索了一会,给小段打过去一个电话:“喂~,是我。”电话那头停顿了五秒钟传过来他的声音:“…… 我拜托 !我知道你是个好人,但我们真的真的真的不合适。”


点赞:421
评论数:12

姓名:
魅影迷离

等级:29
性别:男

 

今天和一妹子相亲,我早早来到西餐厅,不一会,漂亮的妹子性感妖娆的过来了。然后老剧情重演……<br/>妹子:有车么?<br/>我:有…<br/>妹子:有房么?<br/>我:有…<br/>妹子还想再问。。。<br/>我:18公分…<br/>妹子很满意,约好开房!<br/>宾馆一番云雨后,妹子娇填道:&quot;你个骗子,哪有18公分?&quot;<br/>我笑道:&quot;局部地区量起刚好18公分&quot;<br/>妹子:&quot;那你的是什么车呀?&quot;<br/>我:&quot;刚才的老汉推车。&quot;<br/>妹子怒道:&quot;…房呢?&quot;<br/>我:&quot;现在

点赞:17
评论数:8

姓名:
吃了两碗又盛

等级:39
性别:男

 

媳妇要去学瑜伽,我觉得这种有氧锻炼挺好的,就支持她去了。一周后媳妇突然宣布不学了,我问:是不是太辛苦了坚持不下来?<br/>媳妇摇摇头说:辛苦我倒不怕,可是教练是个平胸妹子,我担心练得太久,胸会跟她一样平。。。。


点赞:1416
评论数:16

姓名:
醉酒舞剑砍疯子.

等级:13
性别:女

 

办公室最近总是丢零食,一直也没抓到这个贼人!<br/>经理让我去送资料,等着老总签字,发现房间里有些暗,就想去打开灯,突然脚下一崴,我忙抓住旁边物品借力稳住,没想到一把把窗帘扯了下来,,,然后看见窗帘后面一大包各样零食,正是大家丢的,再一看老总一脸黑线:“那个,我是看你们平时零食吃多了,都胖,不好找对象!就先帮你们收了!”<br/>额!,,,


点赞:38
评论数:24

姓名:
墨城烟柳画桥长枫

等级:24
性别:男

 

老婆回娘家了,第二天中午给我发微信:“老公,你在干嘛呀?”<br/>我回:“在工地干活呢!累成狗,你什么时候回来?”<br/>老婆:“我已经回来了,就在网吧门口,刚才你那个走位太漂亮了。”<br/>纳尼……


点赞:1701
评论数:18

姓名:
吃了两碗又盛

等级:39
性别:男

 

昨晚陪儿子学乒乓球,有的学员没去,教练比较闲,叫我过去打两拍。我当初也算练过,打和平球是没问题的。<br/>你来我往地打了几个回合之后,对面球过来,高度,角度刚刚好,勾起了我扣杀的欲望,我侧身,发力,,,可惜球拍有些没压住,球飞了,打教练脑门上了。。<br/>教练揉着脑门说:真不愧是你儿子的爹,你儿子也总往我头上打!


点赞:11
评论数:17

姓名:
崛起的,新贵族

等级:27
性别:男

 

我儿子四岁多,幼儿园亲子活动我们去参加,一帮孩子都在滚轮胎玩游戏弄的不亦乐乎的,我儿子就比较有特色了,带着个女孩子在窗下面亲吻拥抱,女孩子奶奶脸都绿了,我们也不好说什么,只是后来亲子活动结束以后我让他以后不能这样了,他不,非不同意,说他喜欢那个女孩。<br/><br/>过了一个月有天我去接他放学,他一直都闷闷不乐的,说那个女生不理他了,问我要怎么办,我说我不知道呀。一路上他都在自言自语的我会想办法的我能想到办法的。


点赞:12779
评论数:4

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

正文段子没有办法爬取,其他的数据可以爬取,猜想被加密,或者编码方式与re模块不同

后续计划采用其他方法试试

import requests
#from bs4 import BeautifulSoup
import time
import re
headers={    
    #'User-Agent':'Nokia6600/1.0 (3.42.1) SymbianOS/7.0s Series60/2.0 Profile/MIDP-2.0 Configuration/CLDC-1.0'
    'User-Agent':'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/55.0.2883.87 Safari/537.36'
}
info_lists=[]
def judgment_sex(class_name):
    if class_name=='womenIcon':
        return ''
    else :
        return ''
#f=open('C:/Users/Administrator/Desktop/lianxi/qiushi.text','a+')
def get_info(url):
    res=requests.get(url)
    #gbkTypeStr = res.text.encode("GBK", "ignore")
    #gbkTypeStr = res.text.encode("GB18030")
    #print(gbkTypeStr)
    #print(res.text)
    ids=re.findall('<h2>(.*?)</h2>',res.text,re.S)
    levels=re.findall('<div class="articleGender \D+Icon">(.*?)</div>',res.text,re.S)
    sexs=re.findall('<div class="articleGender (.*?)">',res.text,re.S)
    contents=re.findall('<div class="content"><span>(.*?)</span></div>',res.text,re.S)
    laughs=re.findall('<i class="number">(\d+)</i>',res.text,re.S)
    comments=re.findall('<i class="number">(\d+)</i> 评论',res.text,re.S)
    print(ids)
    #print(levels)
    #print(sexs)
    print(contents)
    #print(laughs)
    #print(comments)
    
    
    for id,level,sex,laugh,comment in zip(ids,levels,sexs,laughs,comments):
        info={
            'id':id,
            'level':level,
            'sex':judgment_sex(sex),
            #'content':content,
            'laugh':laugh,
            'comment':comment
        }
        print("66666666666666666666666666666666666666666666666666666666666")
        
        info_lists.append(info)
        #print(info)



if __name__=='__main__':
    urls=['https://www.qiushibaike.com/text/page/{}/'.format(str(i)) for i in range(1,2)]
    for url in urls:
        get_info(url)
        time.sleep(2)
    for info_list in info_lists:
        #f=open('C:/Users/Administrator/Desktop/lianxi/qiushi.txt','a+')
        f=open('C:/Users/Administrator/Desktop/lianxi/qiushi.text','a+')
        try:
            f.write(info_list['id']+'\n')
            f.write(info_list['level']+'\n')
            f.write(info_list['sex']+'\n')
            #f.write(info_list['content']+'\n')
            f.write(info_list['laugh']+'\n')
            f.write(info_list['comment']+'\n\n')
            f.close()
        except UnicodeEncodeError:
            f.write("失败")
            

posted @ 2018-04-17 18:01  蓝勃斐重新开始  阅读(327)  评论(0编辑  收藏  举报