python3 网络爬虫学习 3.4 抓取猫眼电影排行

import requests
import re
import time
import json
def get_one_page(url):
    headers = {
        "User-Agent": "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/535.1 (KHTML, like Gecko) Chrome/14.0.835.163 Safari/535.1"
    }
    response = requests.get(url,headers = headers)
    if response.status_code == 200:
        return  response.text
    else:
        print(None)
def parse_one_page(html):
    #                         <i class="board-index board-index-9">9</i>
    #     <a href="/films/1212" title="千与千寻" class="image-link" data-act="boarditem-click" data-val="{movieId:1212}">
    #       <img src="//ms0.meituan.net/mywww/image/loading_2.e3d934bf.png" alt="" class="poster-default" />
    #       <img data-src="http://p0.meituan.net/movie/b076ce63e9860ecf1ee9839badee5228329384.jpg@160w_220h_1e_1c" alt="千与千寻" class="board-img" />
    #     </a>
    #     <div class="board-item-main">
    #       <div class="board-item-content">
    #               <div class="movie-item-info">
    #         <p class="name"><a href="/films/1212" title="千与千寻" data-act="boarditem-click" data-val="{movieId:1212}">千与千寻</a></p>
    #         <p class="star">
    #                 主演:柊瑠美,入野自由,夏木真理
    #         </p>
    # <p class="releasetime">上映时间:2001-07-20(日本)</p>    </div>
    #     <div class="movie-item-number score-num">
    # <p class="score"><i class="integer">9.</i><i class="fraction">3</i></p>
    #     </div>
    pattern = re.compile(r"<dd>.*?board-index.*?>(.*?)</i>.*?<img data-src=(.*?) alt=(.*?)class=.*?/>.*?<p class=.*?><a href=.*?</a></p>.*?<p class=.*?>(.*?)</p>.*?<p class=.*?>(.*?)</p>.*?<p class=.*?><i class=.*?>(.*?)</i><i class=.*?>(.*?)</i></p>",re.S)
    item = re.findall(pattern,html)
# ('1', '"http://p1.meituan.net/movie/20803f59291c47e1e116c11963ce019e68711.jpg@160w_220h_1e_1c"', '"霸王别姬" ', '\n                主演:张国荣,张丰毅,巩俐\n        ', '上映时间:1993-01-01(中国香港)', '9.', '6'),
    for ite in item:
        yield{
            "index": ite[0],
            "image": ite[1],
            "title": ite[2][1:-2],
            "actor": ite[3].strip()[3:],
            "time": ite[4][5:],
            "score":ite[5]+ite[6]
        }
def write(item):
    with open("D:/猫眼电影TOP100(1).txt","a") as f:
        f.write(json.dumps(item,ensure_ascii=False)+"\n")#这是因为json.dumps 序列化时对中文默认使用的ascii编码.想输出真正的中文需要指定ensure_ascii=False:
def main():
    for page in range(10):
        url = "http://maoyan.com/board/4?offset="+str(10*page)
        html =get_one_page(url)
        for item in parse_one_page(html):
            write(item)
        time.sleep(1)
main()
Python爬虫可以用来抓取猫眼电影的相关信息。通过使用Python爬虫,我们可以获取猫眼电影网的TOP100排行榜的影片信息,包括电影名称、上映时间、主演信息。这些信息可以通过访问猫眼电影网的网址来获取。另外,我们还可以使用Python爬虫来获取猫眼电影的实时票房数据。通过访问猫眼专业版-实时票房的网址,我们可以看到实时电影票房数据,这些数据是动态增加的。在抓取动态网页数据时,我们可以找到对应的XHR格式的请求,并提取相应的JSON格式数据。通过运用Python爬虫的知识,我们还可以制作一个定时爬取电影票房数据并推送至个人邮箱的爬虫小程序,实现数据的定时更新和自动推送。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* [【python教程入门学习Python爬虫抓取猫眼电影排行榜](https://blog.csdn.net/python_9988/article/details/120709945)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] - *2* *3* [Python爬虫入门实战之猫眼电影数据抓取(实战篇)](https://blog.csdn.net/Karven_/article/details/89075198)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值