zoukankan      html  css  js  c++  java
  • 利用request和regex抓取猫眼电影排行

    import requests
    import re
    import time
    
    def get_one_page(url):
        headers = {
            'User-Agent': 'Mozilla/5.0 (Windows NT 6.1; WOW64; rv:34.0) Gecko/20100101 Firefox/34.0'  # User-Agent可以在网上搜一下,很多
        }
        response = requests.get(url, headers=headers)
        if response.status_code == 200:
            return response.text
        return None
    
    def main():
        for page in range(0,10):
            url = 'https://maoyan.com/board/4'
            if page > 0:
                url += '?offset='+str(page*10)
            html = get_one_page(url)  # 抓取
            data = parse_one_page(html)  # 解析
            time.sleep(1)  # 限制抓取速度,避免触发反爬
            for i in data:  # 输出
                print(i)
    
    def parse_one_page(html):
        pattern = re.compile(
        '<dd>.*?board-index.*?>(d*)</i>'+  # 电影id
            '.*?data-src="(.*?)"'+  # 图片链接
            '.*?title="(.*?)"'+  # 电影名称
            '.*?<p class="star">.*?主演:(.*?)
    .*?</p>'  # 主演
            ,
        re.S)  # 【复习】re.S修饰符:使.匹配包括换行符在内的所有字符
        items = re.findall(pattern, html)
        for item in items:
            yield {
                'index':item[0],
                'image':item[1],
                'title':item[2],
                'actor':item[3]
            }
        
    main()
    

    输出:

    {'index': '1', 'image': 'https://p1.meituan.net/movie/20803f59291c47e1e116c11963ce019e68711.jpg@160w_220h_1e_1c', 'title': '霸王别姬', 'actor': '张国荣,张丰毅,巩俐'}
    {'index': '2', 'image': 'https://p0.meituan.net/movie/283292171619cdfd5b240c8fd093f1eb255670.jpg@160w_220h_1e_1c', 'title': '肖申克的救赎', 'actor': '蒂姆·罗宾斯,摩根·弗里曼,鲍勃·冈顿'}
    {'index': '3', 'image': 'https://p0.meituan.net/movie/289f98ceaa8a0ae737d3dc01cd05ab052213631.jpg@160w_220h_1e_1c', 'title': '罗马假日', 'actor': '格利高里·派克,奥黛丽·赫本,埃迪·艾伯特'}
    
    ...
    
    {'index': '99', 'image': 'https://p0.meituan.net/movie/885fc379c614a2b4175587b95ac98eb95045650.jpg@160w_220h_1e_1c', 'title': '阿飞正传', 'actor': '张国荣,张曼玉,刘德华'}
    {'index': '100', 'image': 'https://p0.meituan.net/movie/c304c687e287c7c2f9e22cf78257872d277201.jpg@160w_220h_1e_1c', 'title': '龙猫', 'actor': '秦岚,糸井重里,岛本须美'}
    
  • 相关阅读:
    水木清华小爬虫
    不让复制是不可能的----js获取选中文字
    [转]nonlocal和global
    LLVM和clang
    Megcup2017 Dogfood
    史莱姆自爆问题
    前端颜色表
    [转]论文十诫
    返利网盈利模式
    事务的四个属性ACID
  • 原文地址:https://www.cnblogs.com/lokvahkoor/p/10763952.html
Copyright © 2011-2022 走看看