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

今天河马爬虫代理就为大家分享一下,爬虫是如何爬取猫眼电影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):

扫描二维码关注公众号,回复: 6529101 查看本文章
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为您提供安全稳定、高效便捷的爬虫代理IP服务,更多问题请咨询客服。

猜你喜欢

转载自www.cnblogs.com/hema2213/p/11039181.html