零基础学 Python(2018 版)
尹会生
前游戏公司技术总监,前新浪网技术经理
80146 人已学习
新⼈⾸单¥68
课程目录
已完结/共 72 讲
第一章 :Python介绍和安装 (3讲)
第二章 :Python基础语法 (3讲)
第四章 :条件与循环 (5讲)
第五章 :映射与字典 (2讲)
第六章 :文件和输入输出 (2讲)
第七章 :错误和异常 (1讲)
第九章 :模块 (1讲)
第十章 :语法规范 (1讲)
第十一章 :面向对象编程 (4讲)
第十二章 :多线程编程 (2讲)
第十六章 :综合案例 & 结课测试 (1讲)
特别放送 (1讲)
零基础学 Python(2018 版)
登录|注册
留言
13
收藏
沉浸
阅读
分享
手机端
回顶部
当前播放: 68 | Beautiful Soup的安装和使用
00:00 / 00:00
高清
  • 高清
1.0x
  • 2.0x
  • 1.5x
  • 1.25x
  • 1.0x
  • 0.75x
  • 0.5x
网页全屏
全屏
00:00
付费课程,可试看
01 | Python语言的特点
02 | Python的发展历史与版本
03 | Python的安装
04 | Python程序的书写规则
05 | 基础数据类型
06 | 变量的定义和常用操作
07 | 序列的概念
08 | 字符串的定义和使用
09 | 字符串的常用操作
10 | 元组的定义和常用操作
11 | 列表的定义和常用操作
12 | 条件语句
13 | for循环
14 | while循环
15 | for循环语句中的if嵌套
16 | while循环语句中的if嵌套
17 | 字典的定义和常用操作
18 | 列表推导式与字典推导式
19 | 文件的内建函数
20 | 文件的常用操作
21 | 异常的检测和处理
22 | 函数的定义和常用操作
23 | 函数的可变长参数
24 | 函数的变量作用域
25 | 函数的迭代器与生成器
26 | Lambda表达式
27 | Python内建函数
28 | 闭包的定义
29 | 闭包的使用
30 | 装饰器的定义
31 | 装饰器的使用
32 | 自定义上下文管理器
33 | 模块的定义
34 | PEP8编码规范
35 | 类与实例
36 | 如何增加类的属性和方法
37 | 类的继承
38 | 类的使用-自定义with语句
39 | 多线程编程的定义
40 | 经典的生产者和消费者问题
41 | Python标准库的定义
42 | 正则表达式库re
43 | 正则表达式的元字符
44 | 正则表达式分组功能实例
45 | 正则表达式库函数match与search的区别
46 | 正则表达式库替换函数sub()的实例
47 | 日期与时间函数库
48 | 数学相关库
49 | 使用命令行对文件和文件夹操作
50 | 文件与目录操作库
51 | 机器学习的一般流程与NumPy安装
52 | NumPy的数组与数据类型
53 | NumPy数组和标量的计算
54 | NumPy数组的索引和切片
55 | pandas安装与Series结构
56 | Series的基本操作
57 | Dataframe的基本操作
58 | 层次化索引
59 | Matplotlib的安装与绘图
60 | 机器学习分类的原理
61 | Tensorflow的安装
62 | 根据特征值分类的模型和代码
63 | 网页数据的采集与urllib库
64 | 网页常见的两种请求方式get和post
65 | HTTP头部信息的模拟
66 | requests库的基本使用
67 | 结合正则表达式爬取图片链接
68 | Beautiful Soup的安装和使用
69 | 使用爬虫爬取新闻网站
70 | 使用爬虫爬取图片链接并下载图片
强势回归:零基础学Python2022版来啦!
71 | 如何分析源代码并设计合理的代码结构&结课测试
本节摘要

课程源码、课件及课后作业地址:

https://gitee.com/geektime-geekbang/geekbangpython

登录 后留言

全部留言(13)

  • 最新
  • 精选
alley
老师我按你的步骤,pip3分别安装了bs4和lxml;一直报这个错误 File "D:\python\lib\site-packages\bs4\__init__.py", line 228, in __init__ % ",".join(features)) bs4.FeatureNotFound: Couldn't find a tree builder with the features you requested: lxml. Do you need to install a parser library?

作者回复: 先用pip安装 lxml 试一下

2020-01-04
2
1
温若
Beautiful Soup对文档的解析速度不会比它所依赖的解析器更快,如果对计算时间要求很高或者计算机的时间比程序员的时间更值钱,那么就应该直接使用 lxml .

作者回复: 正确,xpath 性能会更高

2020-06-02
温若
老师。只用lxml,不用bs4也好用的。 page = requests.get() tree = html.fromstring(page.text)

作者回复: 看使用的是什么解析器来匹配,如果用xml,需要安装lxml包,因为解析器是c++写的,需要引入xml包

2020-06-02
温若
老师,lxml和bs4的适用场景有啥区别。感觉这两个都可以解析html文本

作者回复: lxml 和bs4 本来就不是对等的关系, lxml是使用xml语法解析网页,如果实现内容提取要用到xpath, bs4默认是html解析,提取内容要用到bs4的内置函数 如果要给他们定义一下场景的话, lxml更像是引擎 ,bs4是引擎+工具,趋向简单可以使用bs4工具 ,趋向高性能可以使用bs4+lxml,相当于给bs4换了发动机, 趋向专业和高效可以使用 lxml+xpath

2020-06-02
pan xi er
SyntaxError: Non-UTF-8 code starting with '\xcf' in file /usr/local/bin/python3.7 on line 1, but no encoding declared; 在pycharm上执行一直提示这个,看了官方文档,第一行代码也增加了coding=gbk等所有的方式,但还是不行,命令行下可以正常执行,为什么呢?

作者回复: 应该是你的电脑有两个版本的python,pycharm 和命令行使用的python 可能不是同一个版本

2020-05-09
旭光
bs4可以实现urllib和requests的功能吧,是的话只调用bs4模块是否效率更高?

作者回复: urllib和requests 是http客户端工具,负责请求和返回,返回的网页内容,需要beautifulsoap来解析

2020-03-28
Metamorphosis
老师请问一下你那个html_doc咋导入的

作者回复: html_doc 是网页点鼠标右键查看源代码获取的

2019-09-09
程序员人生
from bs4 import BeautifulSoup import requests headers = { "Accept": "text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8", "Accept-Language": "zh-CN,zh;q=0.8", "Connection": "close", "Cookie": "_gauges_unique_hour=1; _gauges_unique_day=1; _gauges_unique_month=1; _gauges_unique_year=1; _gauges_unique=1", "Referer": "http://www.infoq.com", "Upgrade-Insecure-Requests": "1", "User-Agent": "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/57.0.2987.98 Safari/537.36 LBBROWSER" } #url = 'http://www.infoq.com/cn/news' url = 'http://news.baidu.com/' def craw(url): response = requests.get(url, headers=headers) soup = BeautifulSoup(response.text, 'lxml') for hotnews in soup.find_all('div', class_='hotnews'): for news in hotnews.find_all('a'): print(news.text,end=' ') print(news.get('href')) craw(url) 换了个网页爬爬

作者回复: 不错,静态页面都可以用这种方式爬取的

2019-08-06
夜尽天明
print(soup.p['class']) 为什么匹配的是第一个title 而不是story

作者回复: soup.p['class'] 默认取第一个,soup.find_all('p')取所有的p标签

2019-07-25
100执行%
pip3安装bs4报错 之前安装requests都可以的 报错信息如下 07Exception: Traceback (most recent call last): File "c:\users\acadsoc\appdata\local\programs\python\python36\lib\site-package s\pip\_vendor\urllib3\response.py", line 331, in _error_catcher yield File "c:\users\acadsoc\appdata\local\programs\python\python36\lib\site-package s\pip\_vendor\urllib3\response.py", line 413, in read data = self._fp.read(amt) File "c:\users\acadsoc\appdata\local\programs\python\python36\lib\site-package s\pip\_vendor\cachecontrol\filewrapper.py", line 62, in read data = self.__fp.read(amt) File "c:\users\acadsoc\appdata\local\programs\python\python36\lib\http\client. py", line 449, in read n = self.readinto(b) File "c:\users\acadsoc\appdata\local\programs\python\python36\lib\http\client. py", line 493, in readinto n = self.fp.readinto(b) File "c:\users\acadsoc\appdata\local\programs\python\python36\lib\socket.py", line 586, in readinto return self._sock.recv_into(b) File "c:\users\acadsoc\appdata\local\programs\python\python36\lib\ssl.py", lin e 1009, in recv_into return self.read(nbytes, buffer) File "c:\users\acadsoc\appdata\local\programs\python\python36\lib\ssl.py", lin e 871, in read return self._sslobj.read(len, buffer) File "c:\users\acadsoc\appdata\local\programs\python\python36\lib\ssl.py", lin e 631, in read v = self._sslobj.read(len, buffer) socket.timeout: The read operation timed out During handling of the above exception, another exception occurred: Traceback (most recent call last): File "c:\users\acadsoc\appdata\local\programs\python\python36\lib\site-package s\pip\_internal\cli\base_command.py", line 143, in main status = self.run(options, args) File "c:\users\acadsoc\appdata\local\programs\python\python36\lib\site-package s\pip\_internal\commands\install.py", line 318, in run resolver.resolve(requirement_set) File "c:\users\acadsoc\appdata\local\programs\python\python36\lib\site-package

作者回复: 试试下载离线包安装一下,上面的错误提示并没有明确错误的原因

2018-10-18
收起评论