位置:芙蓉财经网 >> 上市公司

网页电影

日期:2023年08月31日 14:48 浏览量:1


爬取网页(https://movie.douban.com/top250)上的电影信息

  • 网页分析https://movie.douban.com/top250,属于静态网页,我们所需的数据资源在网页源代码中呈现。因此,我们只需获得网页html代码进而解析取出其中某些结点(本次简单获取电影名称和引述)就可以获得想要的数据。


Python之静态网页(豆瓣电影Top250)爬取信息

网页效果

Python之静态网页(豆瓣电影Top250)爬取信息

每个li标签中有一部电影

Python之静态网页(豆瓣电影Top250)爬取信息


我们获取每个li,再对其子节点进行查找可以得到想要的信息。

  • 工作流程:获取网页 ->解析网页 ->打印或保存信息
  • 依赖工具:requests、BeautifulSoup、time,Pycharm或者文本编辑器、浏览器
  • Python代码:
# -*- coding: utf-8 -*-# @Author: 搞爬虫# @Date:   2020-07-26 09:38:07# @Last Modified by:   搞爬虫# @Last Modified time: 2020-07-26 14:54:25#库引入import requestsfrom bs4 import BeautifulSoupimport time定义获取html文档的函数# (参数:)可以指定参数类型def getHtml(i:int,startUrl:str,headers:dict):      text = ''     #每一页URL的区别在于start(如:第二页URL:)     # https://movie.douban.com/top250?start=25&filter= ,以此类推         url = startUrl+'?start=' + str(i*25)     try:        r = requests.get(url,headers = headers,timeout=8)        if r.status_code == 200:            return r.text       except:            print("failed to get html")            return ""


Python之静态网页(豆瓣电影Top250)爬取信息


Python之静态网页(豆瓣电影Top250)爬取信息

#定义解析网页的函数def parseHtml(text:str,temp:dict) :      if text != '':          soup = bs(text,'lxml')          info_div = soup.find_all('div',class_='info')          for eachMovie in info_div:                          ls = [] #这里用名称作为字典的键,其他信息存放在列表中作为值                info_hd = eachMovie.find('div',class_='hd')                info_bd = eachMovie.find('div',class_='bd')        #电影名称文本                name = info_hd.a.span.text.strip()        #电影简述文本                quote = info_bd.find('p',class_='quote').span.text.strip()                ls.append(quote)                temp[name] = ls        return temp#定义控制台打印信息函数def printContent(Info:dict):      if Info is not None:          count = 0          print("{:20}\t\t{:10}\t".format("电影名称","电影引述")) #格式化打印            #获得每一个键值对          for key,value in Info.items():               if count == 10:                    print('')                    print("============================================")                    count = 0               print("{:12}\t\t{:^20}".format(key,value[0]))  #字典的值是列表类型               count += 1    else:        print('no data')#主函数def main():      #这里可以打开开发者工具查看正常访问页面的请求头     #网页不涉及重要信息,我们只进行少量的爬取,不进行伪装也可以      headers = {'user-agent':'Mozilla/5.0'}      result = {}      startUrl = "https://movie.douban.com/top250"      num = input('要爬取多少页(1~10)')      for i in range(eval(num)):                 text = getHtml(i,startUrl,headers)           time.sleep(2) #可以间断访问           result = parseHtml(text,result)      printContent(result)if __name__ == '__main__':     main()


Python之静态网页(豆瓣电影Top250)爬取信息

运行结果

改进过后可以显示电影的具体信息。完!

推荐阅读

网页电影
唱吧网页版官网(唱吧网页版个人主页)
智能电视浏览器不能播放视频(电视浏览器打不开视频网页)
微信页面版(微信网页版怎么登录不了)
如何保存网页视频(电脑如何保存网页视频)
网页打开速度很慢(网页打开速度慢源码问题)
360浏览器怎么下载网页上的视频(360浏览器怎么下载网页上的视频插件)
123网页设为主页(怎样把好123网页设置为手机主页)
欧意网页版的详细介绍
弄五笔怎么打(弄五笔怎么打字)
网页电影文档下载: PDF DOC TXT

标签: 函数def 网页 info

文章来源: alisa
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至405936398@qq.com 举报,一经查实,本站将立刻删除。
相关资讯
黑色的招商信用卡(黑色的招商信用卡图片)
黑色的招商信用卡(黑色的招商信用卡图片) 2023-08-31

).span.text.strip() ls.append(quote) ...

万达期货官网(万达期货官网客服电话)
万达期货官网(万达期货官网客服电话) 2023-08-31

).span.text.strip() ls.append(quote) ...

建行港币兑换人民币(建行港币兑换人民币流程)
建行港币兑换人民币(建行港币兑换人民币流程) 2023-08-31

).span.text.strip() ls.append(quote) ...

九欧是多少人民币(9欧元等于多少英镑)
九欧是多少人民币(9欧元等于多少英镑) 2023-08-31

).span.text.strip() ls.append(quote) ...

临沂做期货去哪(临沂做期货去哪做)
临沂做期货去哪(临沂做期货去哪做) 2023-08-31

).span.text.strip() ls.append(quote) ...

目前中国黄金价格(目前中国黄金价格走势图)
目前中国黄金价格(目前中国黄金价格走势图) 2023-08-31

).span.text.strip() ls.append(quote) ...