BeutifulSoup

  • beautifulsoup是python的一个xml , html解析库, 借助网页的结构和属性等特性来解析网页,只需要简单的几条语句, 就可以用来方便的从网页中提取数据

选择解释器

beautifulsoup在解析的时候需要依赖解析器

  • 1. python标准库 BeautifulSoup(text, 'html.parser)
  • 2. lxml HTML解析器 BeautifulSoup(text, 'lxml')
  • 3. lxml XML解析器 BeautifulSoup(text, 'xml')
  • 4. html5lib BeautifulSoup(text, 'html5lib')
  • 推荐使用 lxml HTML 解析器

基本用法

  • soup = BeautfifulSoup(text, 'lxml')
  • soup.prettify() 把要解析的字符串以标准的缩进格式输出
  • soup.p.string string属性获取文本内容

节点选择器

  • 选择元素 soup.p 如果有多个p元素,只找到第一个
  • 提取属性 soup.p.attrs得到一个字典
  • soup.p['class'] 获取属性的值, 只可能是字符串也可能是列表
  • 嵌套选择 soup.p.a.string
  • 关联选择 子节点 children 子孙节点 descdants
  • 关联选择 父节点 parent 祖先节点 parents
  • 兄弟节点 next-sibling previous-sibling

方法选择器

  • find_all() 找到所有满足条件的标签, 放在一个列表中
  • find() 找到第一个满足条件的列表
  • css 选择器, beautifulsoup还提供了css选择器,对web比较熟悉, 想使用css选择器来选择标签的小伙伴可以使用 pyquery 解析库 这了就不做介绍了

beautifulsoup实现猫眼电影前100爬取

from bs4 import BeautifulSoup as bs
import requestsdef get_movie_info(ret):soup = bs(ret.text, 'lxml')  #用beautifulsoup库 处理前端页面all_dd = soup.find_all('dd')  #找到页面中的每个dd标签for content in range(10):     #每个dd标签中都包含着一个电影的信息num = all_dd[content].i.string  #获取当前电影的排名movie_infos = [num]for p in all_dd[content].find_all('p'):if p.string:   #分别获取 电影名, 主演, 上映时间等,
                movie_infos.append(p.string.strip())movie = f'排名:{movie_infos[0]}, 电影名:{movie_infos[1]}, {movie_infos[2]}, {movie_infos[3]}'print(movie)url = 'https://maoyan.com/board/4'for offset in range(10):data = {'offset':offset * 10}ret = requests.get(url, params=data)  #获取前端页面get_movie_info(ret)  #调用函数, 处理前端页面

转载于:https://www.cnblogs.com/zhangjian0092/p/11215750.html

进击的爬虫-003-beautifulsoup实现猫眼电影前100爬取相关推荐

  1. python xpath爬取电影top100_进击的爬虫-002-xpath实现猫眼电影前100爬取

    nodename : 选取此节点的所有子节点 / : 从当前节点选取直接子节点 // : 从当前节点选取子孙节点 . : 选取当前节点 .. : 选取当前节点的父节点 @ : 选取属性 3. 使用 3 ...

  2. 爬虫第二式:猫眼电影前100排行榜

    hello hello,小伙伴们你们好,今天我就正式进入爬虫稍微高级一点的阶段了,哈哈哈哈上一篇才是入门了,本章就进阶了,所以没学好入门的小伙伴们先去我的上一篇文章看懂看明白啊,丢个小链接: 爬虫第一 ...

  3. 【python+爬虫】爬去猫眼电影前100名具体信息

    爬去猫眼电影前100名具体信息 准备工作 1:requests,json,time,re库 2:python3.x 3:pycharm 4:在线正则表达式测试网址 http://tool.oschin ...

  4. 爬虫实战(一)猫眼电影基础数据爬取

    看完爬虫基础,是不是有点心动手痒了呢?那么接下来就让我们一起学习如何爬虫吧. 写在爬虫之前 选这个题目的初衷:本人是一个学生党,经济来源较少但平时又特别爱看电影,又没时间关注电影票价的变动,有了这个爬 ...

  5. python爬虫猫眼电影票房_python爬取猫眼电影top100排行榜

    爬取猫眼电影TOP100(http://maoyan.com/board/4?offset=90) 1). 爬取内容: 电影名称,主演, 上映时间,图片url地址保存到mariadb数据库中; 2). ...

  6. 爬虫实战(二)猫眼电影动态数据爬取

    前言 爬虫部分的知识算是告一段落了,又是几天过去了,感觉挺充实的.里面可能还有一些需要改进的地方,慢慢完善吧. 正文 接下来我们就说说上次遗留下来的问题,如何爬取动态数据.先告诉你一下爬取的数据中为什 ...

  7. python实现猫眼电影评论的爬取

    直接上代码 import xlrd import requests from lxml import etree import random import jsonpath import json i ...

  8. 英雄联盟峡谷之巅前100爬取(动态网页+json格式解析)

    目的是爬取英雄联盟官网的峡谷之巅前100的信息,经观察发现,每一页只有25个玩家的信息. 先看网页源代码 看到前面,结构清晰,很好抓取. 到了中间部分发现只有前25个,后面的数据貌似被隐藏了.在此处可 ...

  9. requests+正则爬取猫眼电影前100

    最近复习功课,日常码农生活. import requests from requests.exceptions import RequestException import re import jso ...

最新文章

  1. 进程的介绍(概念、作用)
  2. 初识boost之boost::share_ptr用法
  3. 如何用ASP获取真实IP地址_草根编程
  4. Asp.net 类中使用中括号([......])的作用
  5. CentOS下如何配置LAMP环境
  6. 如何重新定义云数据中心的资源利用率
  7. [Ubuntu] bash shell soft-link error: Too many levels of symbolic links
  8. 深入理解C++11pdf
  9. 无人驾驶时代指日可待?2035年将取代传统汽车
  10. STM32系列 STM32F4xx 独立看门狗(IWDG)
  11. 电脑太慢了最简单的办法怎么弄_修电脑不求人—最实用办公室电脑故障及解决办法,办公室人都说好...
  12. 三级分类用sql语句怎么写(多级分类的写法)
  13. sum of digits
  14. 汽车诊断协议UDS概述
  15. 脑电数据预处理和后续处理(EEGLAB)
  16. 古筝d调变降e调怎么办_为什么古筝总要调音、还总调不好?
  17. 计算机u盘病毒清除方式,彻底清除u盘病毒有什么方法呢
  18. vs2017 自定义背景图片
  19. 解密阿里云安全女程序员维棠 、牵尘代码诗!
  20. 删掉wps后台烂进程

热门文章

  1. 荷棕飘香迎端午,品茗赏荷过佳节
  2. 竞价推广怎么统计加粉词?
  3. 关于通用汽车破产的启示问题
  4. js调用windows.Print打印去掉页眉页脚
  5. 充电枪cp信号控制板_一种带CC/CP及电子锁的车载充电机电路的制作方法
  6. Centos7 虚拟机非法关机导致系统无法启动报Unmount and run xfs_repair的解决方法
  7. [附源码]JAVA+ssm社区论坛(程序+Lw)
  8. excel公式实现变量名蛇形转驼峰
  9. 2022 国赛postgresql
  10. 怎么使用_许昌防裂贴使用方法,怎么使用