python3.6爬"糗事百科"段子


主要功能:

1、requests模块的应用;

2、正则表达式的使用。


import requests
import re

r = requests.get("http://www.qiushibaike.com/hot/page/1")
content = r.content
content = content.decode('utf-8')
# print(str(content))


pattern = re.compile(r'<div class="article block untagged mb15.'
                     +'*?<div class="author clearfix">.*?</div>' #作者信息
                     +'.*?<div class="content">.*?</div>'  # 段子内容
                     +'.*?<div class="stats">.*?</div>' #好笑、评论 数
                     +'.*?</div>',re.S) #正则表达式

contentPattern = re.compile(r'<div class="content">.*?<span>(.*?)</span>.*?</div>',re.S)
authorPattern = re.compile(r'<div class="author clearfix">.*?<h2>(.*?)</h2>',re.S)
commentPattern = re.compile(r'<div class="stats">.*?<i class="number">(.*?)</i>.*?<i class="number">(.*?)</i>.*?</div>',re.S)

items = re.findall(pattern,content)
print(str(items))
print('--------------------------------')
number = 0
for item in items:
    number = number + 1
    print(str(number))

    contentItems = re.findall(contentPattern,str(item))
    print(contentItems[0].strip().replace('<br/>','\n'))

    authorItems = re.findall(authorPattern,str(item))
    print("作者:"+str(authorItems[0].strip()))

    commentItems = re.findall(commentPattern,str(item))
    print("点赞:"+commentItems[0][0]+"次 "+"评论:"+commentItems[0][1]+"条")



  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值