最新公告
  • 欢迎您光临起源地模板网,本站秉承服务宗旨 履行“站长”责任,销售只是起点 服务永无止境!立即加入钻石VIP
  • python爬虫如何获取电影票房数据?

    正文概述 小妮浅浅   2020-12-25   149

    python爬虫如何获取电影票房数据?

    最近上新了不少新电影,也不知道哪一个电影好看,我们可以使用python爬虫获取数据来分析一下。这里我们把整体获取的流程分为需求分析和代码部分,下面小伙伴们就一起来看看怎样使用python爬虫获取电影票房数据吧。

    1.简单需求分析

    python爬虫如何获取电影票房数据? 

    一边觉得可以把验证码取下来填上去获取cookies,另一边觉得可以先登录再取cookies,当然他们都成功了。

    唯独用selenium去登录取cookies的爬下来是乱码。

    2.代码实现

    import requests
    import re
    from lxml import etree
    import random
    from concurrent.futures import ThreadPoolExecutor
    import time
     
    user_agent=[
    # 请自己放上十几个头
    ]
    #下面的cookie自己加,建议加多个
    cookie=[]
     
    list_urls=[]
    def geturl(page):
        headers={
            'Cookie':random.choice(cookie),
            'User-Agent':random.choice(user_agent)
        }
        time.sleep(1)
        page = requests.get("http://58921.com/alltime?page={}".format(int(page)),headers=headers)
        html = page.content.decode(encoding='utf-8')
        with open("test.html",'wb') as f:
            f.write(html.encode())
        xpath_data=etree.HTML(page.content)
        list_urls_raw=xpath_data.xpath('//*[@id="content"]/div[3]/table/tbody/tr/td[3]/a/@href')
        # print(list_urls_raw)
        for url in list_urls_raw:
            list_urls.append(url)
        return list_urls
     
     
    def get_number(url_half):
        headers={
            'User-Agent':random.choice(user_agent)        
        }
        Html=requests.get("http://58921.com"+url_half+"/boxoffice",headers).content.decode("utf-8")
        # print(Html)
        pattern_number = re.compile(r'\(最新票房 (.+?)\)')
        pattern_name=re.compile(r'<h3>(.*)票房统计\(.*\)</h3>')
        # print(pattern)
        number=pattern_number.findall(Html)[0]
        name=pattern_name.findall(Html)[0]
        print(number,name)
        return number,name
     
    with ThreadPoolExecutor(max_workers=2) as executor_first:
        for i in range(1,30): # 要几页自己调
            executor_first.submit(geturl,i)
    print(list_urls)
    print(len(list_urls))
    with ThreadPoolExecutor(max_workers=2) as executor_second:
        executor_second.map(get_number,list_urls)

    成果

    python爬虫如何获取电影票房数据?

    以上就是python爬虫获取电影票房数据的办法,感兴趣的小伙伴也可以跟着小编的流程试一试。本文来源于网络,如有雷同联系作者修改。


    起源地 » python爬虫如何获取电影票房数据?

    常见问题FAQ

    免费下载或者VIP会员专享资源能否直接商用?
    本站所有资源版权均属于原作者所有,这里所提供资源均只能用于参考学习用,请勿直接商用。若由于商用引起版权纠纷,一切责任均由使用者承担。更多说明请参考 VIP介绍。
    提示下载完但解压或打开不了?
    最常见的情况是下载不完整: 可对比下载完压缩包的与网盘上的容量,若小于网盘提示的容量则是这个原因。这是浏览器下载的bug,建议用百度网盘软件或迅雷下载。若排除这种情况,可在对应资源底部留言,或 联络我们.。
    找不到素材资源介绍文章里的示例图片?
    对于PPT,KEY,Mockups,APP,网页模版等类型的素材,文章内用于介绍的图片通常并不包含在对应可供下载素材包内。这些相关商业图片需另外购买,且本站不负责(也没有办法)找到出处。 同样地一些字体文件也是这种情况,但部分素材会在素材包内有一份字体下载链接清单。
    模板不会安装或需要功能定制以及二次开发?
    请QQ联系我们

    发表评论

    还没有评论,快来抢沙发吧!

    如需帝国cms功能定制以及二次开发请联系我们

    联系作者

    请选择支付方式

    ×
    迅虎支付宝
    迅虎微信
    支付宝当面付
    余额支付
    ×
    微信扫码支付 0 元