13-9小爬虫排序问题

来源:13-10 sorted 排序

天上掉下个小馅饼

2018-07-19

老师,我的排序的时候总有几个排在前面,除了这几个以外呢,其他都是正常的,我自己调试不出来,所以来问下老师

from urllib import request
import re

class Spider():
    url = "https://www.panda.tv/cate/lol?pdt=1.24.s1.3.7qn4br8ij3u"
    root_pattern = '<div class="video-info">.*?</div>'
    name_pattern = '<span class="video-nickname" title="(.*)"'
    number_pattern = '<span class="video-number">(.*)</span>'

    def __fetch_content(self):
    r = request.urlopen(Spider.url)
    html = r.read()
    html = str(html,encoding = "utf-8")
    return html
    def __analysis(self,htmls):
    name_numbers = []
    infor = re.findall(Spider.root_pattern, htmls,re.S)
    for x in infor:
        name = re.findall(Spider.name_pattern, x)
        number = re.findall(Spider.number_pattern, x)
        name_numbers.append({'name':name[0],'number':number[0]})
    return name_numbers
    def __sort(self,name_numbers):
    sorted(name_numbers, key = self.__sort_seed)
    return name_numbers
    def __sort_seed(self,name_number):
    r = re.findall('\\d*', name_number['number'])
    number = float(r[0])
    if '万' in name_number['number']:
        number *= 10000
    return number

    def __show(self,name_numbers):
    for x in name_numbers:
        print(x['name'] + "-----------" + x['number'])

    def go(self):
    htmls = self.__fetch_content()
    name_numbers = self.__analysis(htmls)
    name_numbers = self.__sort(name_numbers)
    self.__show(name_numbers)

spider = Spider()
spider.go()

http://img.mukewang.com/szimg/5b5001bb00019e0b05460389.jpg

写回答

1回答

7七月

2018-07-20

排序函数是不是没有按纯数字排序?检测下

0
0

Python3.8系统入门+进阶 (程序员必备第二语言)

语法精讲/配套练习+思考题/原生爬虫实战

14598 学习 · 4469 问题

查看课程