python爬虫基本框架代码(入门)
首先下载并导入基本的库函数
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爬虫基本框架代码(入门)相关推荐
- Python爬虫 scrapy框架爬取某招聘网存入mongodb解析
这篇文章主要介绍了Python爬虫 scrapy框架爬取某招聘网存入mongodb解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 创建项目 sc ...
- python爬虫--Scrapy框架--Scrapy+selenium实现动态爬取
python爬虫–Scrapy框架–Scrapy+selenium实现动态爬取 前言 本文基于数据分析竞赛爬虫阶段,对使用scrapy + selenium进行政策文本爬虫进行记录.用于个人爬虫学习记 ...
- Python爬虫—Scrapy框架—Win10下载安装
Python爬虫-Scrapy框架-Win10下载安装 1. 下载wheel 2.下载twisted 3. 下载pywin32 4. 下载安装Scrapy 5. 创建一个scrapy项目 6. fir ...
- Python爬虫学习框架介绍
对于初学者来说,摸索清楚一个领域的知识体系往往比单纯学习某个技术要重要得多,因为技术总会跟随时代发生快速变化,而知识体系往往变化较小,今天我们以自学的角度来了解一下Python爬虫的知识体系吧. 一. ...
- Python爬虫-Scrapy框架(四)- 内置爬虫文件 - 4.2 初探Crawl Spider
Python爬虫-Scrapy框架(四)- 内置爬虫文件 - 4.2 初探Crawl Spider 写在前面 初探Crawl Spider 创建Crawl Spider项目 对比Basic与Crawl ...
- python爬虫项目-23个Python爬虫开源项目代码
今天为大家整理了23个Python爬虫项目.整理的原因是,爬虫入门简单快速,也非常适合新入门的小伙伴培养信心.所有链接指向GitHub,祝大家玩的愉快 1.WechatSogou [1]– 微信公众号 ...
- python爬虫实践 —— 一、入门篇
Scrapy爬虫实践 -- 一.入门篇 前言 一.选择爬虫框架--Scrapy 二.Scrapy安装 1.引入库 2.安装 3.验证 三.Scrapy的第一个爬虫工程 1. 使用框架创建新工程 2. ...
- 23个Python爬虫开源项目代码
今天为大家整理了23个Python爬虫项目.整理的原因是,爬虫入门简单快速,也非常适合新入门的小伙伴培养信心.所有链接指向GitHub,祝大家玩的愉快 1.WechatSogou [1]– 微信公众号 ...
- 23个Python爬虫开源项目代码:微信、淘宝、豆瓣、知乎、微博...
文末有干货 "Python高校",马上关注 真爱,请置顶或星标 来源:Python数据科学 今天为大家整理了23个Python爬虫项目.整理的原因是,爬虫入门简单快速,也非常适合新 ...
最新文章
- 科普| 越来越火的图数据库究竟是什么?
- kalman滤波(二)---扩展kalman滤波[EKF]的推导
- 总结:C#中跨窗体传值的几种方法
- [转]response.getWriter().write()与out.print()的区别
- 使用 LxRunOffine 迁移 WSL Ubuntu安装目录
- [Swift]LeetCode1147. 段式回文 | Longest Chunked Palindrome Decomposition
- 多变量逻辑回归python_Python实现逻辑回归(Logistic Regression in Python)
- Android 基础总结
- N---Exponentiation
- 自学python能干些什么副业-揭秘!女程序员为啥更赚钱?这4个大招,用Python做副业躺赚...
- angularJS添加form验证:自定义验证
- 网络安全要学python_请问入门网络安全要学什么?
- 给架构师的推荐——《企业IT架构转型之道》
- Linux C/C++内存映射
- java堆栈类_JAVA 堆栈类(Stack)的使用
- 技术不牛如何才拿到国内IT巨头的Offer
- 寒假集训难题(四)QWQ和神奇的传送器nefu1608
- c++ Bellman-Ford 算法
- 获取服务器端的webapps路径
- 期货开户手续费怎么计算?