下载APP
登录
关闭
讲堂
算法训练营
Python 进阶训练营
企业服务
极客商城
客户端下载
兑换中心
渠道合作
推荐作者
当前播放: 70 | 使用爬虫爬取图片链接并下载图片
00:00 / 00:00
标清
  • 标清
1.0x
  • 2.0x
  • 1.5x
  • 1.25x
  • 1.0x
  • 0.5x
网页全屏
全屏
00:00
付费课程,可试看

零基础学Python

共71讲 · 71课时·约540分钟
16024
免费
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与s...
46 | 正则表达式库替换函数sub...
47 | 日期与时间函数库
48 | 数学相关库
49 | 使用命令行对文件和文件夹...
50 | 文件与目录操作库
51 | 机器学习的一般流程与NumP...
52 | NumPy的数组与数据类型
53 | NumPy数组和标量的计算
54 | NumPy数组的索引和切片
55 | pandas安装与Series结构
56 | Series的基本操作
57 | Dataframe的基本操作
58 | 层次化索引
59 | Matplotlib的安装与绘图
60 | 机器学习分类的原理
61 | Tensorflow的安装
62 | 根据特征值分类的模型和代...
63 | 网页数据的采集与urllib库
64 | 网页常见的两种请求方式ge...
65 | HTTP头部信息的模拟
66 | requests库的基本使用
67 | 结合正则表达式爬取图片链...
68 | Beautiful Soup的安装和...
69 | 使用爬虫爬取新闻网站
70 | 使用爬虫爬取图片链接并下...
71 | 如何分析源代码并设计合理...
本节摘要

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

https://github.com/wilsonyin123/geekbangpython

精选留言(12)

  • 2018-07-06
    老师,pachong8.py 这个代码文件在Github里没找到,能上传下吗?

    作者回复: https://github.com/wilsonyin123/geekbangpython/blob/master/timegeekbang.com/pachong8.py

    2
  • 2019-08-14
    老师,爬取js 中的内容该怎么做?

    作者回复: 用selenium+chrome来爬取

  • 2019-06-12
    老师,写脚本控制浏览器自动登录网站,如果登陆时有滑块验证码怎么处理呢?

    作者回复: 滑块认证目前没有有效的方法,使用python可以利用Selenium 模拟部分滑块操作,但是人和机器人模拟的习惯一般是不同的,体现在拖动滑块速度不一样,多数行为是逐渐加速,快到位置的时候减速,可能要配合一定的算法来实现滑块验证码的验证。

  • 2019-03-11
    老师你好,对于爬虫的合法性我很不解,貌似几行代码就能在大牢里顿几年。
    课程中爬虫相关的代码也没有放在课件中,似乎这类代码是不能传播的吗?
    我只知道遵守robots协议就好了,但实际上大多数网站并没有这个协议。

    有什么规则能知道自己是否属于合法数据收集吗?

    作者回复: 爬虫的合法性分两类,一类是是否违反法律法规,一种是是否违反行业标准。法律法规我不专业,建议参考各公司的用户协议和法律专业的定义。
    另一种robots协议是行业标准,不仅个人,搜索引擎也要遵循这个标准,不遵守会被认定为违背公认的商业道德,从而构成不正当竞争
    还有一种更为严重的是通过侵入或破坏计算机信息系统进行的数据抓取行为或者窃取公民隐私,这种行为是明确违反《网络安全法》的。

  • 2019-01-21
    老师,查看 infoQ 网页源码看不到图片地址了,怎么破?

    作者回复: 网站改版过,所以会有抓取不到图片的情况,可以鼠标右键点击图片-检查 , 通过浏览器的调试功能查看图片的地址,所在的<div>。。。</div>来调整代码

  • 2019-01-16
    用pip list命令看了一下,安装的requests版本是2.18.4的,但是仍然出现ModuleNotFoundError:No module named 'requests'的报错

    作者回复: 你好,考虑两种情况会出现安装了也报找不到模块的错误
    1 是否你正在编写的文件名字叫做requests.py ?在导入时会优先用你的文件作为第一搜索位置
    2 命令行pip安装requests后,你运行时使用了venv环境(即和pip安装的不是同一个环境),或运行时使用了同一个系统下不同版本的python
    可以从这两个方向排查一下

  • 2019-01-15
    老师好,使用pip install requests命令安装的requests,
    $ pip install requests
    Requirement already satisfied: requests in /Applications/ anaconda3/lib/python3.6/site-packages (2.18.4)
    Requirement already satisfied: chardet<3.1.0,>=3.0.2 in /Applicat ions/anaconda3/lib/ python3.6/site-packages (from requests) (3.0.4)
    Requirement already satisfied: idna<2.7,>=2.5 in /Applications/anaconda3/ lib/ python3. 6/site-packages (from requests) (2.6)
    Requirement already satisfied: urllib3<1.23,>=1.21.1 in /Applications/anaconda3/lib/ python3. 6/site-packages (from requests) (1.22)
    Requirement already satisfied: certifi>=2017.4.17 in /Applicat ions/ anaconda3/ lib/ python3. 6/site-packages (from requests) (2018.4.16)

    但是运行代码后报错提示ModuleNotFoundError: No module named 'requests'
    这个该怎么解决?
    展开

    作者回复: 没有安装成功,你截取了pip安装的中间结果,观察一下执行pip install requests 命令之后最后一行的提示信息,可能出现的三种问题:1 requests依赖的其他软件包无法安装成功,导致requests无法安装成功 2 socket timeout 由于pip源的网络质量差,传输中断了 3 requests和已经安装的库出现版本不兼容

  • 2018-12-22
    老师,69课、70课所用的infoq的URL地址,好像都不可用了,改版了?
    查看当前infoq的网页源码,不是html格式的,这种情况下,还能爬数据吗?

    作者回复: 网站改版了需要重新设置匹配规则,不能正确匹配了,可以根据课程的原理再重新抓取网页内容。

  • 2018-08-14
    老师我想问下,一些pip安装的第三方库,在pycharm里使用貌似都没办法自动补全或提示,这种是否是正常的现象,有没有办法解决,谢谢

    作者回复: 不应该的,查看下file-power save mode 要处于关闭状态,除了省电模式其他没有会影响pycharm补全的参数

  • 2018-07-30
    requests.exceptions.SSLError: HTTPSConnectionPool(host='res.infoq.com', port=443): Max retries exceeded with url: /presentations/the-way-of-product-transformation-of-technology-architecture/zh/mediumimage/yinlu270-1532435409007.jpg (Caused by SSLError(SSLError(1, '[SSL: SSLV3_ALERT_HANDSHAKE_FAILURE] sslv3 alert handshake failure (_ssl.c:645)'),))
    展开

    作者回复: 增加以下设置
    import requests.packages.urllib3.util.ssl_
    requests.packages.urllib3.util.ssl_.DEFAULT_CIPHERS = 'ALL'

    参考
    https://stackoverflow.com/questions/40500193/python-3-5-use-openssl-errorssl-sslv3-alert-handshake-failure-sslv3-alert-ha

    出现报错的原因是ssl协议设计缺陷导致

  • 2018-07-30
    直接运行现有的python8.py案例代码,报ssl握手验证错误
  • 2018-07-25
    老师,运行的时候出现了 SSLError

    作者回复: 有更详细的代码环境吗?请求哪个url?用哪个模块?