[Python 爬虫之路1] 爬取糗事百科(requests,bs4)
来源:互联网 发布:shuttle mac 编辑:程序博客网 时间:2024/05/14 16:04
需要打开,收藏的网站:
糗事百科
bs4中文文档
requsts中文文档
# 目标:# 1.嗅事百科 24小时 中的段子# 2.过滤有图的段子# 4.每次点击回车则显示一条笑话,Q退出__author__ = 'XZ'# -*- coding:utf-8 -*-# 使得python支持中文import requestsfrom bs4 import BeautifulSoupclass 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()
在此次实例中,着重于两个库基本使用的学习,并没有使用正则表达式,下次我会尝试用正则表达式完成
0 0
- [Python 爬虫之路1] 爬取糗事百科(requests,bs4)
- Python爬虫实战(1):爬取糗事百科段子
- Python爬虫实战(1):爬取糗事百科段子
- python爬虫学习笔记(1)-爬取糗事百科
- Python爬虫实战一之爬取糗事百科段子
- Python爬虫实战一之爬取糗事百科段子
- Python爬虫实战一之爬取糗事百科段子
- Python爬虫实战一之爬取糗事百科段子
- Python爬虫实战之爬取糗事百科段子
- Python爬虫实战一之爬取糗事百科段子
- Python爬虫实战一之爬取糗事百科段子
- python爬虫爬取糗事百科
- python 爬虫 爬取糗事百科段子
- Python爬虫 爬取糗事百科段子
- Python爬虫爬取糗事百科段子
- python爬虫----爬取糗事百科
- Python爬虫实现爬取糗事百科
- Python爬虫 爬取糗事百科段子
- 【bzoj2049】Cave洞穴勘测 LCT
- 面试题31:连续子数组的最大和
- 树莓派和ubuntu PC通过网线连接
- Android项目之Application
- 基础练习 Huffuman树
- [Python 爬虫之路1] 爬取糗事百科(requests,bs4)
- 面试题32:从1到n整数中1出现的次数
- MATLAB下的多项式拟合
- 文章标题
- U3D Anchors
- 算法训练 删除数组零元素
- 线性代数复习
- 面试题33:把数组排成最小的数
- 欢迎使用CSDN-markdown编辑器