苏苏网赚论坛

 找回密码
 立即注册
查看: 460|回复: 0

爬虫如何爬取猫眼电影TOP榜数据

[复制链接]
跳转到指定楼层
楼主
发表于 2019-6-14 14:02:36 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
河马IP代理,爬虫是如何爬取猫眼电影TOP榜数据的。主要抓取的内容有排名、图片、电影名称、主演、上映时间和评分信息。在抓取之前,我们先打开猫眼电影TOP100页面,研究分析页面,查找我们需要的信息位置,然后抓取。

  代码如下:

import json

import requests

from requests.exceptions import RequestException

import re

import time

def get_one_page(url):

    try:

        headers = { 'User-Agent': 'agent信息'}

        response = requests.get(url, headers=headers)

        if response.status_code == 200:

            return response.text

        return None

    except RequestException:

        return None

def parse_one_page(html):

    pattern = re.compile('<dd>.*?board-index.*?>(\d+)</i>.*?data-src="(.*?)".*?name"><a'

                         + '.*?>(.*?)</a>.*?star">(.*?)</p>.*?releasetime">(.*?)</p>'

                         + '.*?integer">(.*?)</i>.*?fraction">(.*?)</i>.*?</dd>', re.S)

    items = re.findall(pattern, html)

    for item in items:

        yield {

            'index': item[0],

            'image': item[1],

            'title': item[2],

            'actor': item[3].strip()[3:],

            'time': item[4].strip()[5:],

            'score': item[5] + item[6]

        }

def write_to_file(content):

    with open('result.txt', 'a', encoding='utf-8') as f:

        f.write(json.dumps(content, ensure_ascii=False) + '\n')

def main(offset):

    url = 'http://maoyan.com/board/4?offset=' + str(offset)

    html = get_one_page(url)

    for item in parse_one_page(html):

        print(item)

        write_to_file(item)

if __name__ == '__main__':

    for i in range(10):

        main(offset=i * 10)

        time.sleep(1)

  通过上述代码,我们就可以获取到猫眼电影TOP榜数据信息了。芝麻HTTP为您提供安全稳定、高效便捷的爬虫代理IP服务,更多问题请咨询客服。
热帖推荐
回复

使用道具 举报

广告合作|最大的网赚客中文交流社区!十年老站!

GMT+8, 2024-4-26 13:17 , Processed in 0.140401 second(s), 23 queries , Gzip On.

Powered by Discuz! X3.1 VIP版

© 2012-2022 苏苏网赚论坛 版权所有 | 10年老品牌

快速回复 返回顶部 返回列表