静态网页抓取(二)

TOP250电影数据

1.使用requests获取电影网页的代码,并用for循环翻译翻页 代码如下:

import requests


def get_movies():
    headers={
        "user-agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64)AppleWebKit/537.36 (KHTML, like Gecko) Chrome/67.0.3396.62 Safari/537.36"
   }
    for i in range(0, 10):
        link = 'https://movie.douban.com/top250?start=' +str(i*25)
        r = requests.get(link, headers=headers, timeout=10)
        print(str(i+1), "页响应状态码:", r.status_code)
        print(r.text)


get_movies()

2.这时得到的结果只是网页的HTML代码,我们需要从中提取需要的电影名称。代码如下:

import requests
from bs4 import BeautifulSoup

# 读取豆瓣TOP250的电影名
def get_movies():
    # 请求头
    headers = {
        'UserAgent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko)'
                     ' Chrome/67.0.3396.87 Safari/537.36'}
    movie_list = []
    for i in range(0, 10):
        link = 'https://movie.douban.com/top250?start=' + str(i * 25)
        r = requests.get(link, headers=headers, timeout=10)
        print(str(i + 1) + '页面响应码状态:', r.status_code)

        soup = BeautifulSoup(r.text, "lxml")
        div_list = soup.find_all('div', class_='hd')
        for each in div_list:
            movie = each.a.span.text.strip()  # 获取电影名称
            movie_list.append(movie)
    return movie_list


movies = get_movies()
print(movies)

在上述代码中,使用BeautifulSoup对网页进行解析并获取其中的电影名称数据,运行代码,得到的结果是:

1页面响应码状态: 200
2页面响应码状态: 200
3页面响应码状态: 200
4页面响应码状态: 200
5页面响应码状态: 200
6页面响应码状态: 200
7页面响应码状态: 200
8页面响应码状态: 200
9页面响应码状态: 200
10页面响应码状态: 200
['肖申克的救赎', '霸王别姬', '这个杀手不太冷', '阿甘正传', '美丽人生', '千与千寻', '泰坦尼克号', '辛德勒的名单', '盗梦空间', '机器人总动员', '三傻大闹宝莱坞', '海上钢琴师', '忠犬八公的故事', '放牛班的春天', '大话西游之大圣娶亲', '楚门的世界', '龙猫', '教父', '星际穿越', '熔炉', '触不可及', '乱世佳人', '无间道', '当幸福来敲门', '天堂电影院', '怦然心动', '十二怒汉', '少年派的奇幻漂流', '蝙蝠侠:黑暗骑士', '鬼子来了', '搏击俱乐部', '活着', '指环王3:王者无敌', '疯狂动物城', '天空之城', '大话西游之月光宝盒', '罗马假日', '飞屋环游记', '控方证人', '窃听风暴', '两杆大烟枪', '飞越疯人院', '闻香识女人', '哈尔的移动城堡', '辩护人', '海豚湾', 'V字仇杀队', '死亡诗社', '教父2', '美丽心灵', '指环王2:双塔奇兵', '指环王1:魔戒再现', '饮食男女', '情书', '摔跤吧!爸爸', '美国往事', '狮子王', '钢琴家', '素媛', '天使爱美丽', '小鞋子', '七宗罪', '被嫌弃的松子的一生', '致命魔术', '音乐之声', '本杰明·巴顿奇事', '勇敢的心', '西西里的美丽传说', '剪刀手爱德华', '低俗小说', '看不见的客人', '黑客帝国', '拯救大兵瑞恩', '沉默的羔羊', '让子弹飞', '入殓师', '蝴蝶效应', '春光乍泄', '大闹天宫', '玛丽和马克思', '末代皇帝', '心灵捕手', '阳光灿烂的日子', '幽灵公主', '第六感', '重庆森林', '布达佩斯大饭店', '禁闭岛', '哈利·波特与魔法石', '狩猎', '大鱼', '猫鼠游戏', '致命ID', '断背山', '射雕英雄传之东成西就', '甜蜜蜜', '一一', '告白', '阳光姐妹淘', '加勒比海盗', '穿条纹睡衣的男孩', '上帝之城', '摩登时代', '阿凡达', '爱在黎明破晓前', '消失的爱人', '风之谷', '爱在日落黄昏时', '侧耳倾听', '超脱', '红辣椒', '恐怖直播', '倩女幽魂', '小森林 夏秋篇', '驯龙高手', '菊次郎的夏天', '喜剧之王', '幸福终点站', '萤火虫之墓', '借东西的小人阿莉埃蒂', '七武士', '岁月神偷', '杀人回忆', '神偷奶爸', '电锯惊魂', '贫民窟的百万富翁', '喜宴', '真爱至上', '海洋', '谍影重重3', '东邪西毒', '记忆碎片', '怪兽电力公司', '雨人', '黑天鹅', '疯狂原始人', '卢旺达饭店', '燃情岁月', '英雄本色', '虎口脱险', '小森林 冬春篇', '7号房的礼物', '哈利·波特与死亡圣器(下)', '傲慢与偏见', '荒蛮故事', '心迷宫', '萤火之森', '恋恋笔记本', '完美的世界', '教父3', '纵横四海', '花样年华', '海边的曼彻斯特', '玩具总动员3', '猜火车', '魂断蓝桥', '穿越时空的少女', '雨中曲', '唐伯虎点秋香', '时空恋旅人', '超能陆战队', '请以你的名字呼唤我', '蝙蝠侠:黑暗骑士崛起', '二十二', '我是山姆', '人工智能', '冰川时代', '浪潮', '朗读者', '香水', '爆裂鼓手', '罗生门', '未麻的部屋', '一次别离', '追随', '血战钢锯岭', '撞车', '可可西里', '恐怖游轮', '战争之王', '被解救的姜戈', '地球上的星星', '达拉斯买家俱乐部', '梦之安魂曲', '牯岭街少年杀人事件', '房间', '头脑特工队', '魔女宅急便', '谍影重重', '谍影重重2', '惊魂记', '小萝莉的猴神大叔', '忠犬八公物语', '青蛇', '再次出发之纽约遇见你', '阿飞正传', '模仿游戏', '东京物语', '哪吒闹海', '碧海蓝天', '一个叫欧维的男人决定去死', '完美陌生人', '你的名字。', '无人知晓', '末路狂花', '秒速5厘米', '源代码', '终结者2:审判日', '黑客帝国3:矩阵革命', '新龙门客栈', '绿里奇迹', '海盗电台', '这个男人来自地球', '勇闯夺命岛', '城市之光', '卡萨布兰卡', '变脸', '无耻混蛋', '初恋这件小事', '发条橙', 'E.T. 外星人', '黄金三镖客', '爱在午夜降临前', '荒野生存', '美国丽人', '迁徙的鸟', '英国病人', '无敌破坏王', '步履不停', '疯狂的石头', '燕尾蝶', '非常嫌疑犯', '勇士', '彗星来的那一夜', '叫我第一名', '国王的演讲', '穆赫兰道', '血钻', '聚焦', '海街日记', '上帝也疯狂', '枪火', '我爱你', '遗愿清单', '大卫·戈尔的一生', '黑鹰坠落', '荒岛余生', '蓝色大门', '千钧一发', '爱·回家']

  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值