import requests
import re
#糗事百科爬虫类
class QSBK:
#初始化方法,定义一些变量
def __init__(self):
self.headers={
"User-Agent": "Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/61.0.3163.79 Safari/537.36"
}
#存放段子的变量,每一个元素是每一页的段子们
self.stories=[]
#存放程序是否继续运行的变量
self.enable =False def getPage(self,page):
try:
url = 'http://www.qiushibaike.com/hot/page/' + str(page)
print(url)
response = requests.get(url,headers=self.headers)
html_content = response.content.decode('UTF-8')
#print(html_content)
# regex=re.compile('<div class="article block untagged mb15\s\S+" id="\S+">.*?</div>')
regex = re.compile('<h2>(.*?)</h2>.*?<div class="content">\W+<span>(.*?)</span>', re.S)
#regex = re.compile('<h2>', re.S)
regex_content = re.findall(regex, html_content)
print(regex_content)
for i in regex_content:
self.stories.append(i[0].replace('\n', ''),i[1].replace('\n', ''))
return self.stories
except Exception as e:
print('异常:%s' % e) js = QSBK() for i in range(100):
lists = js.getPage(i) print('============================================ 第 '+str(i)+' 页 =============================================')
print(lists)

如果发现不能用,那就是糗百又改规则了

最新文章

  1. Android之DOM解析XML
  2. List提取相同元素
  3. oracle 多条语句同时执行(比如返回两个dataset)
  4. DMA控制器
  5. 统一SDK接入(U8SDK)——总体思路和架构
  6. [maven] 常用插件解析
  7. 【Todo】Zookeeper学习
  8. [SQL]replace替换字符串中的字符
  9. traceroute小结 come from CSDN author:houdong
  10. [每日一题] OCP1z0-047 :2013-08-01 正则表达式--- REGEXP_REPLACE 函数
  11. Javacript 学习笔记
  12. 【3】Asp.Net Core2.2新版管道处理模型
  13. nova boot from volume代码分析
  14. ReentrantLock源码
  15. angular的json
  16. Debian Security Advisory(Debian安全报告) DSA-4407-1 xmltooling
  17. 5 个关于 API 中日期和时间设计规则
  18. 云端搭建内网局域网+NAT冗余上网:vps-centos6.10 +pptp client +2个ros 实现默认走pptp上网,万一pptp断了,走另外一个ros路由+centos7补充了下
  19. [GPU] CUDA for Deep Learning, why?
  20. python argparse模块--转载

热门文章

  1. web前端利用leaflet生成粒子风场,类似windy
  2. avr定时器做的正弦波
  3. Django后端项目---- rest framework(3)
  4. Oracle 手动建库
  5. windows composer 安装,使用新手入门
  6. css列表list、表格table
  7. P2473 [SCOI2008]奖励关(期望)
  8. Bitbucket备份恢复
  9. CentOS7的安装以及redis的下载安装和连接redis desktop manager出现的问题
  10. 变参标准函数的重新封装,如printf