Python---原生爬虫,函数式编程,查看最新热门电影排行榜

from urllib import request as r
import re

class Spider():
    url='https://movie.douban.com/chart'
    root_pattern='<tr class="item">(.*?)</table>'
    movie_name_pattern='<a class="nbg" href=".*?"  title="(.*?)">'
    movie_score_pattern='<span class="rating_nums">(.*?)</span>'
    movie_number_pattern='<span class="pl">(.*?)</span>'
   
    def __content(self):#读取内容
        r1=r.urlopen(Spider.url)
        htmls=r1.read()
        htmls=str(htmls,encoding='utf-8')
        return htmls
        
    def __analysis(self,htmls):#分析
        root_html=re.compile(Spider.root_pattern,re.S).findall(htmls)
        informations=[]
        for html in root_html:
            name=re.compile(Spider.movie_name_pattern,re.S).findall(html)
            score=re.compile(Spider.movie_score_pattern,re.S).findall(html)
            number=re.compile(Spider.movie_number_pattern,re.S).findall(html)
            information={'name':name,'score':score,'number':number}
            informations.append(information)
        return informations

    def __refine(self,informations):#精炼
        l=lambda informations:{
                'name':informations['name'][0].strip,
                'score':informations['score'][0].strip,
                'number':informations['number'][0].strip
                }
        return map(l,informations)

    def go(self):#运行
        htmls=self.__content()
        informations=self.__analysis(htmls)
        #informations=list(self.__refine(informations))
        print(informations)

Spider=Spider()
Spider.go()

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值