今天是诸位程序员的节日,为了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爬虫项目-爬取蜂鸟上的图片相关推荐

  1. 程序员还愁没段子?Python几招爬取知乎搞笑段子!

    嗨~鱼来了 最近工作比较忙,和朋友聊天时发现我的段子库存已经严重不足,需要扩充了.知乎上有很多适合茶余饭后看的小段子,蛮有意思的.小鱼就脆带大家来写个小爬虫,把他们都爬下来. 非常适合新手实操,白白们 ...

  2. 一个开发10年程序员论:零基础学习Python最正确的步骤

    往期好文推荐 学习Python不需要程基础? 很多人都在问Python学习步骤应该如何安排?多长时间可以达到精通呢? 当然了,如果你想要爬虫或者web开发的项目视频源码也可以,都是小编在网上找到的一些 ...

  3. 程序员你知道被迫参与一个两亿的项目,想跑还逃不掉吗?

    昨天民政部公布了一项数据一下子登上热搜榜: 2018年中国单身成年人口已经超过2亿, 独居成年人口超过7700万. 你参与这个上亿的项目了吗?据阿里巴巴2017年发布的<中国空巢青年图鉴> ...

  4. java工程师学python爬虫_Python 爬取 11 万 Java 程序员信息竟有这些重大发现!

    原标题:Python 爬取 11 万 Java 程序员信息竟有这些重大发现! 一提到程序猿,我们的脑子里就会出现这样的画面: 或者这样的画面: 心头萦绕的字眼是:秃头.猝死.眼镜.黑白 T 恤.钢铁直 ...

  5. 10行代码集2000张美女图,Python爬虫120例,再上征途

    <Python 爬虫 120 例>专栏简介 Python 爬虫 100 例教程,编写自 2018-07-30 到 2020-10-28,将近 800 天,至今依旧是 Python 爬虫领域 ...

  6. 最适合python程序员用的笔记本-作为一个Python程序员,电脑上应该具备哪些软件?...

    python开发的工具有很多,例如cscode,ipython,pycharm,jupyter等. 如果你用的是linux系统,我建议你直接使用vim来写代码,特点是简单便捷,如果你觉得python里 ...

  7. 代码传奇 | 身价10亿程序员的传奇一生

    他的前半生,值得我们每一个人深思. 在普通人眼里,他寂寂无名,只有年岁稍长的文化人,才听说过他传奇般的存在. 在IT人眼里,他是块活化石,中国第一的大旗除了他,没人敢抗! 他是求伯君,从一个浙江穷山村 ...

  8. 一位身价10亿程序员的传奇一生

    点击上方"Python大本营",选择"置顶公众号" python大本营  IT人的职业提升平台 他的前半生,值得我们每一个人深思. 在普通人眼里,他寂寂无名,只 ...

  9. #1024#番外篇科普为什么1024是程序员日?2020年10月24日,程序员为啥都不放假?

    1.1024为啥是程序员日? 因为1GB=1024MB,1MB=1024KB 2.2020年10月24日,程序员为啥都不放假? 因为2020-1024=996 ("996"指的是早 ...

最新文章

  1. apple id无法创建_我们如何使用Apple的学习框架来创建我们的第一个应用程序
  2. 如何使用TSQL获取数据库中所有表的列表?
  3. BZOJ 1251: 序列终结者( splay )
  4. Linux系统下GNU Wget 命令用法详解及其参数说明
  5. 编写MyLayer,2 锚点,3 精灵的创建,4 zorder
  6. 游历校园 [COGS 614] [欧拉图]
  7. C++虚继承(十) --- 谈谈陈皓遗留的问题
  8. 数据交换平台_从零开始理解大数据架构之数据交换平台
  9. opencv 作图函数
  10. android局部翻转动画,android 围绕中心旋转动画
  11. 图例放在图的外面_手把手教你绘制多个置信区间的森林图
  12. CSC公派|小红本及小黄本的办理
  13. ubuntu使用CNKI官方的caj浏览器
  14. 2018年第九届蓝桥杯真题C/C++B组
  15. Unity2D中逐帧动画的制作
  16. Android Button英文全部大写问题
  17. 关于【ROM制作工具】的那点事
  18. 数据库笔试——查出各部门超出部门平均薪资的员工的姓名,薪资,所在部门名称及部门平均薪水...
  19. VXGI体素全局照明
  20. 常用的四拍子,八拍子

热门文章

  1. java毕业设计校园商铺mybatis+源码+调试部署+系统+数据库+lw
  2. 成都翰麟教育|中学教师资格复习方法总结
  3. 知道了为什么osg::impostor可以这样设置geometry的QUADS了
  4. Springboot+vue项目医疗服务系统
  5. 华为安恒信息服务器,安恒信息成为“华为云优秀严选合作伙伴” 携手保障“云上”资产安全访问...
  6. NI Multisim 14.0 数字钟设计硬件实现
  7. Jetson TX2刷rtso-9003并使用Jetpack安装软件包
  8. 那些“躲避”微软autoruns工具的方法
  9. 解决windows10系统没有Microsoft Store的问题
  10. 猫和老鼠面向对象java语言_面向对象葵花宝典- 完整版.pdf