首先下载并导入基本的库函数

import re
import time
import os.path
import requests
import urllib3

获取请求头(模拟浏览器访问网页)
获取方式:在网页空白处右击,选择“检查”,点击浏览器页面左上角刷新按钮,然后点击“网络”,随便点击一个元素,在右下角位置即出现User-Agent即位请求头,复制即可。如下图所示:

以美食图片网站https://www.foodiesfeed.com/为例(将请求头复制在下面句子中)。

headers = {'user-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 ''(KHTML, like Gecko) Chrome/109.0.0.0 Safari/537.36 Edg/109.0.1518.55'}
url = 'https://www.foodiesfeed.com/'  # 网页地址(点击网站首页白色花图片)
session = requests.session()  # 保持会话
urllib3.disable_warnings()  # 隐藏一些警告信息# 获取网页内容,防止请求失败程序中断 ,加入异常机制
while True:try:res = session.get(url=url, headers=headers, verify=False)  # 获取网页源码breakexcept:print("连接失败...")print("睡眠5秒...")print("ZZzzzz...")time.sleep(5)print("继续连接...")continueres.encoding = "utf-8"
html = res.text  # 解析网页源码
print(html)# 正则表达式匹配下载链接
urls = re.findall('img width=".*?" height=".*?" src="(.*?)" class=".*?" ''alt=".*?" decoding=".*?" loading=".*?" title=".*?"', html)
print(urls)

其中re表达式中,".?“表示忽略冒号内的内容,”(.?)"表示匹配当前冒号内的内容。

# 保存图片
dir_name = 'foot picture'  # 文件夹名称
if not os.path.exists(dir_name):os.mkdir(dir_name)for i in urls:time.sleep(2)  # 睡眠2秒钟,防止请求太快导致网页崩溃figure_name = re.findall(f'img width=".*?" height=".*?" src="{i}" class=".*?" ''alt="(.*?)" decoding=".*?" loading=".*?" title=".*?"', html)[0]print(figure_name)  # 文件名称if figure_name == '':  #匹配不到文件名则跳过,或者自定义文件名continuewhile True:try:response = requests.get(i, headers=headers)  #获取当前图片内容breakexcept:print("连接失败...")print("睡眠5秒...")print("ZZzz...")time.sleep(5)print("继续连接...")continuewith open(dir_name + '/' + figure_name+'.jpg', 'wb') as f:  # 以写入的方式打开文件f.write(response.content)  # 写入文件内容print("下载成功!")

其中最关键的是正则表达式匹配,鼠标右击,点查看网页源代码,找到图片链接所在位置,复制每个图片链接前后都相同的内容,如上面例子中的"img width=、height=、src=、class=、 'alt=“(.*?)” decoding=、 loading=、title=" 在每个图片链接周围都有,那么用正则表达式匹配图片链接,即src=(.*?)。

爬取其他类型数据,如果文本、视频等与此类似。

python爬虫基本框架代码(入门)相关推荐

  1. Python爬虫 scrapy框架爬取某招聘网存入mongodb解析

    这篇文章主要介绍了Python爬虫 scrapy框架爬取某招聘网存入mongodb解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 创建项目 sc ...

  2. python爬虫--Scrapy框架--Scrapy+selenium实现动态爬取

    python爬虫–Scrapy框架–Scrapy+selenium实现动态爬取 前言 本文基于数据分析竞赛爬虫阶段,对使用scrapy + selenium进行政策文本爬虫进行记录.用于个人爬虫学习记 ...

  3. Python爬虫—Scrapy框架—Win10下载安装

    Python爬虫-Scrapy框架-Win10下载安装 1. 下载wheel 2.下载twisted 3. 下载pywin32 4. 下载安装Scrapy 5. 创建一个scrapy项目 6. fir ...

  4. Python爬虫学习框架介绍

    对于初学者来说,摸索清楚一个领域的知识体系往往比单纯学习某个技术要重要得多,因为技术总会跟随时代发生快速变化,而知识体系往往变化较小,今天我们以自学的角度来了解一下Python爬虫的知识体系吧. 一. ...

  5. Python爬虫-Scrapy框架(四)- 内置爬虫文件 - 4.2 初探Crawl Spider

    Python爬虫-Scrapy框架(四)- 内置爬虫文件 - 4.2 初探Crawl Spider 写在前面 初探Crawl Spider 创建Crawl Spider项目 对比Basic与Crawl ...

  6. python爬虫项目-23个Python爬虫开源项目代码

    今天为大家整理了23个Python爬虫项目.整理的原因是,爬虫入门简单快速,也非常适合新入门的小伙伴培养信心.所有链接指向GitHub,祝大家玩的愉快 1.WechatSogou [1]– 微信公众号 ...

  7. python爬虫实践 —— 一、入门篇

    Scrapy爬虫实践 -- 一.入门篇 前言 一.选择爬虫框架--Scrapy 二.Scrapy安装 1.引入库 2.安装 3.验证 三.Scrapy的第一个爬虫工程 1. 使用框架创建新工程 2. ...

  8. 23个Python爬虫开源项目代码

    今天为大家整理了23个Python爬虫项目.整理的原因是,爬虫入门简单快速,也非常适合新入门的小伙伴培养信心.所有链接指向GitHub,祝大家玩的愉快 1.WechatSogou [1]– 微信公众号 ...

  9. 23个Python爬虫开源项目代码:微信、淘宝、豆瓣、知乎、微博...

    文末有干货 "Python高校",马上关注 真爱,请置顶或星标 来源:Python数据科学 今天为大家整理了23个Python爬虫项目.整理的原因是,爬虫入门简单快速,也非常适合新 ...

最新文章

  1. 科普| 越来越火的图数据库究竟是什么?
  2. kalman滤波(二)---扩展kalman滤波[EKF]的推导
  3. 总结:C#中跨窗体传值的几种方法
  4. [转]response.getWriter().write()与out.print()的区别
  5. 使用 LxRunOffine 迁移 WSL Ubuntu安装目录
  6. [Swift]LeetCode1147. 段式回文 | Longest Chunked Palindrome Decomposition
  7. 多变量逻辑回归python_Python实现逻辑回归(Logistic Regression in Python)
  8. Android 基础总结
  9. N---Exponentiation
  10. 自学python能干些什么副业-揭秘!女程序员为啥更赚钱?这4个大招,用Python做副业躺赚...
  11. angularJS添加form验证:自定义验证
  12. 网络安全要学python_请问入门网络安全要学什么?
  13. 给架构师的推荐——《企业IT架构转型之道》
  14. Linux C/C++内存映射
  15. java堆栈类_JAVA 堆栈类(Stack)的使用
  16. 技术不牛如何才拿到国内IT巨头的Offer
  17. 寒假集训难题(四)QWQ和神奇的传送器nefu1608
  18. c++ Bellman-Ford 算法
  19. 获取服务器端的webapps路径
  20. 期货开户手续费怎么计算?

热门文章

  1. Python-Sklearn内置数据集介绍与“三板斧”
  2. 软件测试面试总结(一)
  3. Freemarker 生成work文档图片
  4. 工作和学习矛盾之我见
  5. jsonp跨域请求数据实例——手机号码查询
  6. Android 视频播放(附源码下载)
  7. MATLAB怎么做心电图,教你如何做心电图以及教程.ppt
  8. RNN在图像压缩领域的应用-Variable rate image compression with recurrent neural networks
  9. 【Unity3D】回合制游戏
  10. Linux ps命令