python3爬虫基础学习
在知乎上看到别人写的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爬虫基础学习相关推荐
- Day2:python爬虫基础学习(大嘘)
Day2:python爬虫基础学习(大嘘)) 教材&参考: 学习过程 Sublime配置教程 下载&安装 语言(设置中文) 设置字体/配色 配置Python环境 使用python官方编 ...
- python3爬虫系列教程-Python3爬虫视频学习教程
下面是转发博客内容,挺有用的 大家好哈,现在呢静觅博客已经两年多啦,可能大家过来更多看到的是爬虫方面的博文,首先非常感谢大家的支持,希望我的博文对大家有帮助! 之前我写了一些Python爬虫方面的文章 ...
- python_爬虫基础学习
--王宇阳-根据mooc课程总结记录笔记(Code_boy) Requests库:自动爬去HTML页面.自动网络请求提交 robots.txt:网络爬虫排除标准 Beautiful Soup库:解析H ...
- java爬虫学习_java网络爬虫基础学习(一)
刚开始接触java爬虫,在这里是搜索网上做一些理论知识的总结 主要参考文章:gitchat 的java 网络爬虫基础入门,好像要付费,也不贵,感觉内容对新手很友好. 一.爬虫介绍 网络爬虫是一个自动提 ...
- Datawhale--组队学习第12期--python爬虫基础学习---task0/task1环境配置和网页请求基础
先修知识:task0(基本类库安装,git,anaconda,文本处理) Task0(前置):需要自己安装有关环境,学习git(b站),下载有关driver Chromedriver 作用 驱动浏览器 ...
- python 爬虫基础学习
原址 摘要: From:https://piaosanlang.gitbooks.io/spiders/content/ 爬虫入门初级篇 IDE 选择: PyCharm(推荐).SublimeText ...
- Python3全面基础学习
一.基础了解 1.发展历史 1990年--Python公开发布 2000年--Python2发布 2008年--Python3发布 2020年--Python2. 7停止维护 2.特点 解释型编程语言 ...
- python爬虫基础学习
爬虫 Webspider/Webcrawler 针对互联网上的已有数据进行过滤.提取.下载.处理等操作 爬虫需要了解的知识 网页信息获取(以Chrome为例) 通过右键-检查,查看以下信息 schem ...
- python3 爬虫相关学习7:使用 BeautifulSoup下载网页图片到本地文件夹
目录 1 一个爬图片pic的代码的例子 1.1 学习的原文章 1.2 原始代码的问题总结 问题1 问题2 问题3 其他问题 1.3 原始代码 2 直接在cmd里 python运行报错 和 处理 2. ...
最新文章
- 知乎热问:国家何时整治程序员的高薪现象?
- python函数参数列表_python函数的列表参数传递
- 编程之美-判断两个链表是否相交方法整理
- Ubuntu建立(apache+php+mysql)+phpmyadmin
- android java和c混合编程_C/C++在Java项目、Android和Objective-C三大平台下实现混合编程...
- zabbix监控vsftp服务,发生故障并自动恢复
- BZOJ4832: [Lydsy2017年4月月赛]抵制克苏恩
- 使用Spring Boot CLI的Spring Boot Initilizr
- linux ssh升级回退,Linux-SSH升级及回退方案
- Ubuntu下如何查看GPU版本和使用信息
- gisdk学习心得(一)-简介
- 中望cad文字显示问号怎么办_CAD字体显示问号解决方法
- mysql 模糊查询 查询条件为多个
- POI XssfCellStyle背景颜色对照
- MATLAB中wcp什么意思,WCP是什么意思
- 点云上的深度学习及其在三维场景理解中的应用————PointNet(一)
- 华为全屋智能战略再升级 用三把钥匙打开未来家的大门
- 团队协作与团队内部竞争_为什么您的团队可能在协作游戏中失败
- pythontuple数据类型_阿博的Python之路-详解Tuple数据类型
- 不同版本vpb与osg对应关系
热门文章
- python可以自学吗-python可以自学吗
- python结果输出到excel-python实现数据导出到excel的示例--普通格式
- 如何自学python数据分析-Python学习干货 |如何用Python进行数据分析?
- python和c++哪个好找工作-升学为主的编程学python和C++哪个好?
- python编程培训-什么是Python?老男孩Python编程培训
- python学习手册中文版免费下载-Python学习手册 第三版
- 在Jetson Xavier NX安装中文输入法(googlepinyin中文输入法)
- win10+VS2013+opencv2.4.11的安装和配置
- 如何理解H264 编码
- 初学python之路-day10