Python 一个抓取糗百的段子的小程序

Posted 幽冥狂_七

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Python 一个抓取糗百的段子的小程序相关的知识,希望对你有一定的参考价值。

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)

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

 

以上是关于Python 一个抓取糗百的段子的小程序的主要内容,如果未能解决你的问题,请参考以下文章

怎么在糗百里面找到自己发的段子?

python爬取糗百第一页的笑话

Python 爬虫入门——爬取糗百

Python网络爬虫:空姐网糗百xxx结果图与源码

贡献一段学习过程中的爬糗百的内容

糗事百科怎么搜看过的段子