在知乎上看到别人写的python爬虫,链接:同时用R语言和Python爬取知乎美图,学习一下,源代码执行不成功,稍微修改了一下,很简单,代码如下:

import requests
from bs4 import BeautifulSoup
import os
import re
import urlliburl="https://www.zhihu.com/question/35931586/answer/206258333"
header={'User-Agent': 'Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/59.0.3071.104 Safari/537.36'}
page=requests.get(url,headers=header)
soup=BeautifulSoup(page.text,'lxml')
link_list=soup.find_all("img",class_="origin_image zh-lightbox-thumb lazy")
os.makedirs("./Image/zhihu/")
os.chdir('./Image/zhihu/')
for link in link_list:mylink=link.get('data-original')name=re.findall(r"v2-.*?\.jpg",mylink)[0]urllib.request.urlretrieve(mylink,name)

学习笔记:urlretrieve(url,filename=null,reportbook=null,data=null)方法,将远程数据下载到本地,参数说明:
url:外部或者本地url
filename:指定了保存到本地的路径(如果未指定该参数,urllib会生成一个临时文件来保存数据);
reporthook:是一个回调函数,当连接上服务器、以及相应的数据块传输完毕的时候会触发该回调。我们可以利用这个回调函数来显示当前的下载进度。
data:指post到服务器的数据。该方法返回一个包含两个元素的元组(filename, headers),filename表示保存到本地的路径,header表示服务器的响应头。
改成如下代码能看到每张图片的存储进度:

import requests
from bs4 import BeautifulSoup
import os
import re
import urllibdef callbackfunc(blocknum,blocksize,totalsize):'''@blocknum: 已经下载的数据块@blocksize: 数据块的大小@totalsize: 远程文件的数据块'''percent=100.0*blocknum*blocksize/totalsizeif percent>100:percent=100print("%.2f%%" %percent)url="https://www.zhihu.com/question/35931586/answer/206258333"
header={'User-Agent': 'Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/59.0.3071.104 Safari/537.36'}
page=requests.get(url,headers=header)
soup=BeautifulSoup(page.text,'lxml')
link_list=soup.find_all("img",class_="origin_image zh-lightbox-thumb lazy")
os.makedirs("./Image/zhihu/")
os.chdir('./Image/zhihu/')
for link in link_list:mylink=link.get('data-original')name=re.findall(r"v2-.*?\.jpg",mylink)[0]urllib.request.urlretrieve(mylink,name,callbackfunc)

另外推荐学习资料:
Beautiful Soup 4.2.0 文档
用Python3开发爬虫

python3爬虫基础学习相关推荐

  1. Day2:python爬虫基础学习(大嘘)

    Day2:python爬虫基础学习(大嘘)) 教材&参考: 学习过程 Sublime配置教程 下载&安装 语言(设置中文) 设置字体/配色 配置Python环境 使用python官方编 ...

  2. python3爬虫系列教程-Python3爬虫视频学习教程

    下面是转发博客内容,挺有用的 大家好哈,现在呢静觅博客已经两年多啦,可能大家过来更多看到的是爬虫方面的博文,首先非常感谢大家的支持,希望我的博文对大家有帮助! 之前我写了一些Python爬虫方面的文章 ...

  3. python_爬虫基础学习

    --王宇阳-根据mooc课程总结记录笔记(Code_boy) Requests库:自动爬去HTML页面.自动网络请求提交 robots.txt:网络爬虫排除标准 Beautiful Soup库:解析H ...

  4. java爬虫学习_java网络爬虫基础学习(一)

    刚开始接触java爬虫,在这里是搜索网上做一些理论知识的总结 主要参考文章:gitchat 的java 网络爬虫基础入门,好像要付费,也不贵,感觉内容对新手很友好. 一.爬虫介绍 网络爬虫是一个自动提 ...

  5. Datawhale--组队学习第12期--python爬虫基础学习---task0/task1环境配置和网页请求基础

    先修知识:task0(基本类库安装,git,anaconda,文本处理) Task0(前置):需要自己安装有关环境,学习git(b站),下载有关driver Chromedriver 作用 驱动浏览器 ...

  6. python 爬虫基础学习

    原址 摘要: From:https://piaosanlang.gitbooks.io/spiders/content/ 爬虫入门初级篇 IDE 选择: PyCharm(推荐).SublimeText ...

  7. Python3全面基础学习

    一.基础了解 1.发展历史 1990年--Python公开发布 2000年--Python2发布 2008年--Python3发布 2020年--Python2. 7停止维护 2.特点 解释型编程语言 ...

  8. python爬虫基础学习

    爬虫 Webspider/Webcrawler 针对互联网上的已有数据进行过滤.提取.下载.处理等操作 爬虫需要了解的知识 网页信息获取(以Chrome为例) 通过右键-检查,查看以下信息 schem ...

  9. python3 爬虫相关学习7:使用 BeautifulSoup下载网页图片到本地文件夹

    目录 1 一个爬图片pic的代码的例子 1.1 学习的原文章 1.2 原始代码的问题总结 问题1 问题2 问题3 其他问题 1.3 原始代码 2  直接在cmd里 python运行报错 和 处理 2. ...

最新文章

  1. 知乎热问:国家何时整治程序员的高薪现象?
  2. python函数参数列表_python函数的列表参数传递
  3. 编程之美-判断两个链表是否相交方法整理
  4. Ubuntu建立(apache+php+mysql)+phpmyadmin
  5. android java和c混合编程_C/C++在Java项目、Android和Objective-C三大平台下实现混合编程...
  6. zabbix监控vsftp服务,发生故障并自动恢复
  7. BZOJ4832: [Lydsy2017年4月月赛]抵制克苏恩
  8. 使用Spring Boot CLI的Spring Boot Initilizr
  9. linux ssh升级回退,Linux-SSH升级及回退方案
  10. Ubuntu下如何查看GPU版本和使用信息
  11. gisdk学习心得(一)-简介
  12. 中望cad文字显示问号怎么办_CAD字体显示问号解决方法
  13. mysql 模糊查询 查询条件为多个
  14. POI XssfCellStyle背景颜色对照
  15. MATLAB中wcp什么意思,WCP是什么意思
  16. 点云上的深度学习及其在三维场景理解中的应用————PointNet(一)
  17. 华为全屋智能战略再升级 用三把钥匙打开未来家的大门
  18. 团队协作与团队内部竞争_为什么您的团队可能在协作游戏中失败
  19. pythontuple数据类型_阿博的Python之路-详解Tuple数据类型
  20. 不同版本vpb与osg对应关系

热门文章

  1. python可以自学吗-python可以自学吗
  2. python结果输出到excel-python实现数据导出到excel的示例--普通格式
  3. 如何自学python数据分析-Python学习干货 |如何用Python进行数据分析?
  4. python和c++哪个好找工作-升学为主的编程学python和C++哪个好?
  5. python编程培训-什么是Python?老男孩Python编程培训
  6. python学习手册中文版免费下载-Python学习手册 第三版
  7. 在Jetson Xavier NX安装中文输入法(googlepinyin中文输入法)
  8. win10+VS2013+opencv2.4.11的安装和配置
  9. 如何理解H264 编码
  10. 初学python之路-day10