Python爬虫小案例

原创 2018年04月17日 19:53:20
'''
    模块注释
'''
from urllib import request
import re

class Spider():
    '''
    类的注释,注释写在类下面
    '''
    url = 'https://www.panda.tv/cate/lol'
    rootPattern = '<div class="video-info">([\s\S]*?)</div>'
    namePattern = '</i>([\s\S]*?)</span>'
    numberPattern = '<span class="video-number">([\s\S]*?)</span>'

    def __fetchContent(self):
        '''
        获取html内容,写在方法下面
        '''
        r = request.urlopen(Spider.url)
        # bytes
        htmls = r.read()
        htmls = str(htmls, encoding='utf-8')
        return htmls

    def __analysis(self, htmls):
        '''
        分析出列表数据
        '''
        rootHtml = re.findall(Spider.rootPattern, htmls)
        anchors = []
        for html in rootHtml:
            name = re.findall(Spider.namePattern, html)
            number = re.findall(Spider.numberPattern, html)
            anchor = {'name': name, "number": number}
            anchors.append(anchor)
        return anchors

    def __refine(self, anchors):
        '''
        精简列表,格式化字符串
        '''
        l = lambda anchor : {'name': anchor['name'][0].strip(),
            'number': anchor['number'][0]}
        return map(l, anchors)

    def __sort(self, anchors):
        '''
        排序
        '''
        r = sorted(anchors, key=self.__sortSeed, reverse=True)
        return r

    def __sortSeed(self, anchor):
        '''
        设置元组比较的字段
        '''
        num = re.findall('(\d*)', anchor['number'])
        number = float(num[0])
        if '万' in anchor['number']:
            number *= 10000
        return number

    def __show(self, anchors):
        '''
        展示数据
        '''
        for index in range(0, len(anchors)):
            print(str(index + 1) + ':' + anchors[index]['name'] + '---------' + anchors[index]['number'])

    def do(self):
        '''总控'''
        htmls = self.__fetchContent()
        anchors = self.__analysis(htmls)
        anchors = list(self.__refine(anchors))
        anchors = self.__sort(anchors)
        self.__show(anchors)

spider = Spider()
spider.do()
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/zcwforali/article/details/79979765

Python破解有道翻译爬虫

1.课程介绍了普通的爬虫方式 2.如何攻破有道翻译的反爬虫机制 3.以及制作属于自己的GUI有道词典
  • 2017年08月14日 21:29

python小实例一:简单爬虫

本文所谓的爬虫就是通过本地远程访问url,然后将url的读成源代码形式,然后对源代码进行解析,获取自己需要的数据,相当于简单数据挖掘。本文实现的是将一个网页的图片爬出保存到本地的过程,例子很简单,用的...
  • xqn2017
  • xqn2017
  • 2017-03-27 11:52:26
  • 6600

python爬虫实例项目大全

WechatSogou [1]- 微信公众号爬虫。基于搜狗微信搜索的微信公众号爬虫接口,可以扩展成基于搜狗搜索的爬虫,返回结果是列表,每一项均是公众号具体信息字典。 DouBanSpider [...
  • baidu_21833433
  • baidu_21833433
  • 2017-04-21 14:59:54
  • 17183

python简单爬虫实例

  • 2014年12月29日 22:19
  • 3KB
  • 下载

Python 爬虫案例 贴吧 内涵小段子 爬虫等案例 百度云网盘

  • 2018年01月05日 16:07
  • 45B
  • 下载

自学Python之小爬虫实例

学了两天Python,总要做点什么吧,那就来个小爬虫。 2.x版本和3.x的版本是不同的,我这里采用的是3.5版。 以下代码是爬取贴吧某个页面的全部jpg图片 代码: import url...
  • xuancailinggan
  • xuancailinggan
  • 2016-01-02 16:34:05
  • 809

python爬虫实战小项目

本文介绍了一个入门级的爬虫项目实战,即捧腹网爬虫。该项目首先爬取静态图片(.jpg格式),后经过修改,可爬取动态图(.gif格式),原理简单易懂,并易于上手。...
  • louishao
  • louishao
  • 2017-01-23 12:06:54
  • 3322

python3.3 爬虫小例子

本文仿照大神:http://blog.csdn.net/pleasecallmewhy/article/details/8927832 的博客转化成python3.3 第一个爬虫小例子: import...
  • oMuYeJingFeng1
  • oMuYeJingFeng1
  • 2014-04-20 14:41:19
  • 36594

python简单爬虫例子(一)

环境与上一篇一样windows,editplus,python-2.7.6(且我前面文章有介绍过配置过程) 另外介绍一个抓包工具fiddler,超级好用的,特别是在以后你需要爬一些很复杂网站时。(不...
  • u010668907
  • u010668907
  • 2015-09-12 21:25:43
  • 4486

python实例2-写一个爬虫下载小功能

主要是通过url,和re两个模块对一个网页的固定图片进行模糊匹配后下载下来。 #! /usr/bin/python import re import urllib def gethtml(url)...
  • qq_33932782
  • qq_33932782
  • 2017-01-02 10:17:38
  • 709
收藏助手
不良信息举报
您举报文章:Python爬虫小案例
举报原因:
原因补充:

(最多只允许输入30个字)