需要打开,收藏的网站:
糗事百科
bs4中文文档
requsts中文文档
# 目标:
# 1.嗅事百科 24小时 中的段子
# 2.过滤有图的段子
# 4.每次点击回车则显示一条笑话,Q退出
__author__ = 'XZ'
# -*- coding:utf-8 -*-
# 使得python支持中文
import requests
from bs4 import BeautifulSoup
class QSBK:
# 初始化一些
def __init__(self):
self.page = 1
self.count = 1
self.jokes = []
self.getJokes(self.page)
# 获取某一页的页面代码
def getJokes(self,pageIdex):
url = 'http://www.qiushibaike.com/hot/page/' + str(pageIdex) # str create a new str object from a given object
try:
response = requests.get(url).content
soup = BeautifulSoup(response, 'html.parser') # 使用标准库的解析器
jokes = soup.findAll("div", class_="article block untagged mb15") # 找到所有的内容
return jokes
except requests.HttpError as e:
print(e)
return None
# 从joke中显示各种信息
def printMsg(self,joke):
name = joke.find("div", class_='author clearfix').contents[3].text
cont = joke.find("a", class_='contentHerf').text
laught = joke.find("i", class_="number").text
print("用户名:"+name)
print("内容:"+cont)
print("点赞数:"+laught)
# 获取一条信息并显示
def getAjoke(self):
size = len(self.jokes)
if size < self.count: # 如果当前笑话已经是本页最后一个笑话
self.page+=1 # 更新为下一页
self.jokes = self.getJokes(self.page) # 获取下一页的笑话
self.count = 1 # 更新为当前页第一个笑话
# 显示当前笑话
self.printMsg(self.jokes[self.count])
self.count+=1 # 更新到下一个笑话
# 开始方法
def start(self):
print(u"正在读取糗事百科,点击回车显示新段子,Q退出")
while True:
i = input()
if i == 'Q'or i == 'q':
break
# 如果不是Q,则打印一条笑话
self.getAjoke()
q = QSBK()
q.start()
在此次实例中,着重于两个库基本使用的学习,并没有使用正则表达式,下次我会尝试用正则表达式完成