前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >实战:爬取猫眼电影TOP100

实战:爬取猫眼电影TOP100

作者头像
AngelNH
发布2020-05-25 16:03:34
4950
发布2020-05-25 16:03:34
举报
文章被收录于专栏:AngelNIAngelNI

实战:爬取猫眼电影TOP100

爬取时间:2020-05-21 爬取难度:★☆☆☆☆☆ 请求链接:https://maoyan.com/board/4 爬取目标:猫眼 TOP100 的电影名称、排名、主演、上映时间、评分、封面图地址,数据保存为 CSV 文件 涉及知识:请求库 requests、解析库 lxml、Xpath 语法、CSV 文件储存

代码语言:javascript
复制
import requests
from lxml import etree
import csv
#头部伪装
headers = {
    'User-Agent': 'Mozilla/5.0 (windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML,like Gecko) Chrome/75.0.3770.142 Safari/537.36'
}
#爬取当前页面
def index_page(number):
    url = 'https://maoyan.com/board/4?offset=%s' % number
    response = requests.get(url=url,headers=headers)
    return response.text
#爬取页面信息
def parse_page(content):
    tree = etree.HTML(content)
    # rank
    ranking = tree.xpath("//dd/i/text()")
    # name
    movie_name = tree.xpath('//p[@class="name"]/a/text()')
    # actor
    performer = tree.xpath("//p[@class='star']/text()")
    performer = [p.strip() for p in performer]
    # 上映时间
    releasetime = tree.xpath('//p[@class="releasetime"]/text()')
    # scores
    score1 = tree.xpath('//p[@class="score"]/i[@class="integer"]/text()')
    score2 = tree.xpath('//p[@class="score"]/i[@class="fraction"]/text()')
    score = [score1[i] + score2[i] for i in range(min(len(score1), len(score2)))]
    # pic
    movie_img = tree.xpath('//img[@class="board-img"]/@data-src')
    #返回信息
    return zip(ranking, movie_name, performer, releasetime, score, movie_img)
#安行保存结果
def save_result(result):
    with open('maoyan.csv','a') as f:
        writer = csv.writer(f)
        writer.writerow(result)
if __name__ == "__main__":
    print("开始爬取")
    #共10页
    for i in range(0,100,10):
        index = index_page(i)
        results = parse_page(index)
        for item in results:
            save_result(item)
    print("end")
本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2020-05-22|,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 实战:爬取猫眼电影TOP100
相关产品与服务
文件存储
文件存储(Cloud File Storage,CFS)为您提供安全可靠、可扩展的共享文件存储服务。文件存储可与腾讯云服务器、容器服务、批量计算等服务搭配使用,为多个计算节点提供容量和性能可弹性扩展的高性能共享存储。腾讯云文件存储的管理界面简单、易使用,可实现对现有应用的无缝集成;按实际用量付费,为您节约成本,简化 IT 运维工作。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档