python自学笔记——糗事百科段子爬取

# -*- coding: utf-8 -*-

"""

Created on Thu Dec 21 14:27:16 2017

@author: Andrew

"""

########################爬取内容包括:用户、段子内容、段子对应的好笑数

import urllib.request

import re

def getcontent(url,page):

#模拟成浏览器

headers=("User-Agent","Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/62.0.3202.94 Safari/537.36")

opener.addheaders = [headers]

#将opener安装为全局

#构建对应用户提取的正则表达式

userpat='(.*?)'

#构建段子内容提取的正则表达式

contentpat='

(.*?)

'

#构建觉得段子好笑的数量

haoxiaopat='(\d*)\s*好笑'

#寻找出所有的用户,有换行符就用re.S:修改模式

userlist=re.compile(userpat,re.S).findall(data)

#寻找出所有的内容

contentlist=re.compile(contentpat,re.S).findall(data)

#村找出所有的觉得好笑的数量

haoxiaolist=re.compile(haoxiaopat,re.S).findall(data)

x=1

for content in contentlist:

content=content.replace("\n","")

#用字符串作为变量名,先将对应字符串赋给一个变量

name="content"+str(x)

#通过exec()函数实现用字符串作为变量名并赋值

exec(name+'=content')

x+=1

y=1

z=0

for user in userlist:

#筛选出好笑数大于200的段子

if int(haoxiaolist[z])>200:

print("好笑:"+str(haoxiaolist[z]))

name="content"+str(y)

print(" 用户 "+str(page)+str(y)+" 是:"+user)

print("内容是:")

exec("print("+name+")")

print("\n")

y=y+1

z=z+1

else:

z=z+1

#分别获取各页的段子,通过for循环可以获取多页

for i in range(1,2):

url="http://www.qiushibaike.com/8hr/page/"+str(i)

getcontent(url,i)

本文来自企鹅号 - 包子馒头铺媒体

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏腾讯移动品质中心TMQ的专栏

【腾讯TMQ】基于模型的自动化测试工具:GraphWalker

概述GraphWalker就是一个基于测试模型的用例生成工具。它主要应用于FSM, EFSM模型。可以用来它直接读取FSM, EFSM图形模型、json模型、生...

1.4K00
来自专栏机器学习AI算法工程

文本分类中语料库的获取——搜狗语料库

这次主要总结搜过语料库的获取,因为老师要求20万数据,而我自己只爬了2万多,所以用到了搜狗的语料库. ? 在这个页面中,我选择的是一个月的数据,别小看一个月...

72080
来自专栏猿人谷

memcpy和memmove的区别

memcpy()和memmove()都是C语言中的库函数,在头文件string.h中,其原型分别如下: void *memcpy(void *dst, con...

41750
来自专栏小文博客

C语言迷宫代码分享

27930
来自专栏编程札记

数据库内部排序算法之两阶段多路归并排序算法实现

95830
来自专栏成长道路

mako模板+django+分页

遇到的问题:我看网上html页面大家通过page2.next_page_number和page2.preivous_page_number获取上一页和下一页的页...

25600
来自专栏猿人谷

已知ip地址和其子网掩码如何求网络号子网号主机号

已知ip地址和其子网掩码如何求网络号子网号主机号 已知ip地址为10.130.89.95,其子网掩码为255.255.255.224,求其网络号、子网号和主机号...

30090
来自专栏软件测试经验与教训

Python学习笔记(文件)

36690
来自专栏软件测试经验与教训

Python学习笔记(17)- os\\os.path 操作文件

34560
来自专栏北京马哥教育

Python入门之生成海贼王云图

本教程适合于有一定编程经验的同学,使用Python3,在Jupyter进行调试开发。 涉及的Python基础包括: 变量和函数的定义和使用 列表和字典等数据结构...

376100

扫码关注云+社区

领取腾讯云代金券