10-24-程序员日-我的第一个python爬虫项目-爬取蜂鸟上的图片
今天是诸位程序员的节日,为了1024勋章,我这个菜鸟也来发个博客
网络爬虫(又被称为网页蜘蛛,网络机器人)就是模拟浏览器发送网络请求,接收请求响应,一种按照一定的规则,自动地抓取互联网信息的程序。
在使用python之前,得先安装一些python库来支持爬虫的运行
from bs4 import BeautifulSoup #网页解析,获取数据
import requests #发起请求,接收响应
import os #对爬取数据的路径,文件进行处理
import re #正则表达式,进行字符串匹配
这些库都可以通过命令行输入:pip install 库名进行安装,如果安装好了还不能用,那就有可能是版本较低或编译环境不是使用系统默认的环境(我就使用vscode没选择系统环境,为此花了大把时间)
爬虫项目:
我做的是爬取蜂鸟网上的壁纸,并将其保存在D盘里https://photo.fengniao.com/https://photo.fengniao.com/ 爬取效果如下图:
图一是终端运行截图:
python代码:
from bs4 import BeautifulSoup
import requests
import os
import re
urlHead = 'https://photo.fengniao.com/' #爬取网站地址
url = 'https://photo.fengniao.com/pic_48723655.html' #网站中一张图片地址,即爬取的初始位置def getHtmlurl(url): # 获取网址try:r = requests.get(url)# 解决解析乱码问题r.raise_for_status()r.encoding = r.apparent_encodingreturn r.textexcept:return ""
def getpic(html): # 获取图片地址并下载,再返回下一张图片地址# 指定BeautifulSoup的解析器为:html.parsersoup = BeautifulSoup(html, 'html.parser')all_img = soup.find('a', class_='downPic')img_url = all_img['href']reg = r'<h3 class="title overOneTxt">(.*?)</h3>' # 找到网页源代码中图片链接的位置,使用 正则表达式截取图片链接r'<a\sclass=".*?"\starget=".*?"\shref=".*?">(.*)</a>' # 正则表达式reg_ques = re.compile(reg) # 编译一下正则表达式,运行的更快image_name = reg_ques.findall(html) # 匹配正则表达式urlNextHtml = soup.find('a', class_='right btn')urlNext = urlHead + urlNextHtml['href']print('正在下载:' + img_url)root = 'D:\图片'path = root + image_name[0] + '.jpg'try: # 创建或判断路径图片是否存在并下载if not os.path.exists(root):os.mkdir(root)if not os.path.exists(path):r = requests.get(img_url)with open(path, 'wb') as f:f.write(r.content)f.close()print("图片下载成功")else:print("文件已存在")except:print("爬取失败")return urlNext
# 主函数
def main():html = (getHtmlurl(url))print(html)return getpic(html)# 循环下载图片!
if __name__ == '__main__':for i in range(1, 50):url = main()
爬取步骤:
1.请求网址
2.获取网址
3.解析网页
4.保存数据
但大多数网站都是有反爬取机制的,这时我们需要伪装成浏览器或者使用代理等方式。
设置headers信息,模拟成浏览器https://blog.csdn.net/Nurbiya_K/article/details/104957301
文章就讲到这里,我也才刚开始学习python爬虫,对爬虫比较感兴趣,欢迎大佬指正和交流
10-24-程序员日-我的第一个python爬虫项目-爬取蜂鸟上的图片相关推荐
- 程序员还愁没段子?Python几招爬取知乎搞笑段子!
嗨~鱼来了 最近工作比较忙,和朋友聊天时发现我的段子库存已经严重不足,需要扩充了.知乎上有很多适合茶余饭后看的小段子,蛮有意思的.小鱼就脆带大家来写个小爬虫,把他们都爬下来. 非常适合新手实操,白白们 ...
- 一个开发10年程序员论:零基础学习Python最正确的步骤
往期好文推荐 学习Python不需要程基础? 很多人都在问Python学习步骤应该如何安排?多长时间可以达到精通呢? 当然了,如果你想要爬虫或者web开发的项目视频源码也可以,都是小编在网上找到的一些 ...
- 程序员你知道被迫参与一个两亿的项目,想跑还逃不掉吗?
昨天民政部公布了一项数据一下子登上热搜榜: 2018年中国单身成年人口已经超过2亿, 独居成年人口超过7700万. 你参与这个上亿的项目了吗?据阿里巴巴2017年发布的<中国空巢青年图鉴> ...
- java工程师学python爬虫_Python 爬取 11 万 Java 程序员信息竟有这些重大发现!
原标题:Python 爬取 11 万 Java 程序员信息竟有这些重大发现! 一提到程序猿,我们的脑子里就会出现这样的画面: 或者这样的画面: 心头萦绕的字眼是:秃头.猝死.眼镜.黑白 T 恤.钢铁直 ...
- 10行代码集2000张美女图,Python爬虫120例,再上征途
<Python 爬虫 120 例>专栏简介 Python 爬虫 100 例教程,编写自 2018-07-30 到 2020-10-28,将近 800 天,至今依旧是 Python 爬虫领域 ...
- 最适合python程序员用的笔记本-作为一个Python程序员,电脑上应该具备哪些软件?...
python开发的工具有很多,例如cscode,ipython,pycharm,jupyter等. 如果你用的是linux系统,我建议你直接使用vim来写代码,特点是简单便捷,如果你觉得python里 ...
- 代码传奇 | 身价10亿程序员的传奇一生
他的前半生,值得我们每一个人深思. 在普通人眼里,他寂寂无名,只有年岁稍长的文化人,才听说过他传奇般的存在. 在IT人眼里,他是块活化石,中国第一的大旗除了他,没人敢抗! 他是求伯君,从一个浙江穷山村 ...
- 一位身价10亿程序员的传奇一生
点击上方"Python大本营",选择"置顶公众号" python大本营 IT人的职业提升平台 他的前半生,值得我们每一个人深思. 在普通人眼里,他寂寂无名,只 ...
- #1024#番外篇科普为什么1024是程序员日?2020年10月24日,程序员为啥都不放假?
1.1024为啥是程序员日? 因为1GB=1024MB,1MB=1024KB 2.2020年10月24日,程序员为啥都不放假? 因为2020-1024=996 ("996"指的是早 ...
最新文章
- apple id无法创建_我们如何使用Apple的学习框架来创建我们的第一个应用程序
- 如何使用TSQL获取数据库中所有表的列表?
- BZOJ 1251: 序列终结者( splay )
- Linux系统下GNU Wget 命令用法详解及其参数说明
- 编写MyLayer,2 锚点,3 精灵的创建,4 zorder
- 游历校园 [COGS 614] [欧拉图]
- C++虚继承(十) --- 谈谈陈皓遗留的问题
- 数据交换平台_从零开始理解大数据架构之数据交换平台
- opencv 作图函数
- android局部翻转动画,android 围绕中心旋转动画
- 图例放在图的外面_手把手教你绘制多个置信区间的森林图
- CSC公派|小红本及小黄本的办理
- ubuntu使用CNKI官方的caj浏览器
- 2018年第九届蓝桥杯真题C/C++B组
- Unity2D中逐帧动画的制作
- Android Button英文全部大写问题
- 关于【ROM制作工具】的那点事
- 数据库笔试——查出各部门超出部门平均薪资的员工的姓名,薪资,所在部门名称及部门平均薪水...
- VXGI体素全局照明
- 常用的四拍子,八拍子
热门文章
- java毕业设计校园商铺mybatis+源码+调试部署+系统+数据库+lw
- 成都翰麟教育|中学教师资格复习方法总结
- 知道了为什么osg::impostor可以这样设置geometry的QUADS了
- Springboot+vue项目医疗服务系统
- 华为安恒信息服务器,安恒信息成为“华为云优秀严选合作伙伴” 携手保障“云上”资产安全访问...
- NI Multisim 14.0 数字钟设计硬件实现
- Jetson TX2刷rtso-9003并使用Jetpack安装软件包
- 那些“躲避”微软autoruns工具的方法
- 解决windows10系统没有Microsoft Store的问题
- 猫和老鼠面向对象java语言_面向对象葵花宝典- 完整版.pdf