美文网首页
python爬虫-抓取内涵吧内涵段子

python爬虫-抓取内涵吧内涵段子

作者: 车厘子V | 来源:发表于2017-12-21 00:10 被阅读40次

这是个python简易爬虫,主要使用了requests和re模块,适合入门。
出处:https://github.com/jingsupo/python-spider/blob/master/day03/04neihanba.py

#!/usr/bin/env python
# -*- coding:utf-8 -*-

import requests, re, time


class Neihanspider(object):
    def __init__(self):
        self.base_url = 'http://www.neihan8.com/article/list_5_'
        self.headers = {"User-Agent": "Mozilla/5.0 (Windows NT 10.0; WOW64; Trident/7.0; rv:11.0) like Gecko"}
        # 第一层解析的正则表达式 正则里面的符号不能改,必须照原样复制过来
        self.first_pattern = re.compile(r'<div class="f18 mb20">.*?</div>', re.S)
        # 第二层解析的正则表达式 去除所有标签 字符实体 空白 全角空格
        self.second_pattern = re.compile(r'<.*?>|&.*?;|\s|  ')

    # 发送请求
    def send_request(self, url):
        time.sleep(2)
        try:
            response = requests.get(url, headers=self.headers)
            return response.content
        except Exception as e:
            print e

    # 写入文件
    def write_file(self, data, page):
        with open('04neihanba.txt', 'a') as f:
            filename = '第' + str(page) + '页的段子\n'
            print filename
            f.write('-' * 10 + '\n')
            f.write(filename)
            f.write('-' * 10 + '\n')

            for first_data in data:
                # 第二层解析
                content = self.second_pattern.sub('', first_data)
                f.write(content)
                # 在每个段子结束的时候加个换行
                f.write('\n\n')

    # 调度方法
    def start_work(self):
        for page in range(1, 5):
            # 拼接url
            url = self.base_url + str(page) + '.html'

            # 发送请求
            data = self.send_request(url)

            # 转码
            data = data.decode('gbk').encode('utf-8')

            # 第一层解析
            data_list = self.first_pattern.findall(data)

            # 将数据写入文件
            self.write_file(data_list, page)


if __name__ == '__main__':
    spider = Neihanspider()
    spider.start_work()

相关文章

  • python爬虫-抓取内涵吧内涵段子

    这是个python简易爬虫,主要使用了requests和re模块,适合入门。出处:https://github.c...

  • 内涵段子抓取Python

    分析过程:打开浏览器开发者工具,通过点击下一页可以知道内涵社区的下一页是动态加载。 复制到浏览器查看一下是json...

  • Python爬虫实战:秒爬内涵段子

    话不多说就是上代码,效果还是不错的。 coding=utf-8 import urllib2import re c...

  • python中一个简单的对内涵段子的爬取

    首先对内涵段子吧的URL进行分析,会发现内涵段子吧的分页只改变了末尾的字符。 例如,https://www.nei...

  • 内涵段子

    以前看了周星驰的《大话西游》可以笑的没心没肺,现在看着看着不知不觉就流泪了,想要救紫霞就必须要打败牛魔王,想要打败...

  • 内涵段子

    职业病 同事刚买了一辆新车,由于是新手,基本是他爸开。一个礼拜下来,同事再也不给他爸开了,我就很纳闷了,就你这水平...

  • 内涵段子

    有一个电台节目,点歌的那种。某天,主持人接到一个电话,是一个在狱中服刑的人打来的。他说:我有一个特别好的朋友,今天...

  • 内涵段子

    老板最近想招个保镖,秘书说:“我有个朋友刚刚退伍,人不错,就是有些拘谨”。 老板不屑地说:“部队里混了这么多年还这...

  • 内涵段子

  • 内涵段子

    上联:世间浩然正气在! 下联:难肃爱污及污人! 横批:内涵段子

网友评论

      本文标题:python爬虫-抓取内涵吧内涵段子

      本文链接:https://www.haomeiwen.com/subject/nyeiwxtx.html