爬取套图之新手攻略以及注意事项
2023-03-20 15:30:45 时间
这里以爬取某个网站的套路为例,详细见代码,这里主要说以下几点注意事项:
1)导库,其实就类似于Java中框架或者是工具类,底层都被封装好了
安装第三方库:
# Win下直接装的 python3
pip install bs4、pip install requests
# Linux python2 python3 共存
pip3 install bs4、pip3 install requests
导入第三方库:
# 导入requests库
import requests
# 导入文件操作库
import os
# bs4全名BeautifulSoup,是编写python爬虫常用库之一,主要用来解析html标签。
import bs4
from bs4 import BeautifulSoup
# 基础类库
import sys
# Python 3.x 解决中文编码问题
import importlib
importlib.reload(sys)
2)定义方法函数,一个爬虫可能会几百行,所以尽量不要写成一坨
def download(page_no, file_path):
# 这里写代码逻辑
3)定义全局变量
# 给请求指定一个请求头来模拟chrome浏览器
global headers # 告诉编译器这是全局变量 headers
headers = {'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/54.0.2840.99 Safari/537.36'}
# 函数内使用之前需要
# 告诉编译器我在这个方法中使用的a是刚才定义的全局变量 headers ,而不是方法内部的局部变量。
global headers
4)防盗链
有些网站加入了防盗链,无所不能的 python 解决方案:
headers = {'Referer': href}
img = requests.get(url, headers=headers)
5)切换版本
Linux服务器使用的是阿里云服务器(centos7.4),默认版本 python2,python3 自行安装
[root@AY140216131049Z mzitu]# python2 -V
Python 2.7.5
[root@AY140216131049Z mzitu]# python3 -V
Python 3.7.1
# 默认版本
[root@AY140216131049Z mzitu]# python -V
Python 2.7.5
# 临时切换版本 <whereis python>
[root@AY140216131049Z mzitu]# alias python='/usr/local/bin/python3.7'
[root@AY140216131049Z mzitu]# python -V
Python 3.7.1
6)异常捕获
在爬取的过程中可能存在异常页面,这里我们进行捕获,不影响后续操作:
try:
# 业务逻辑
except Exception as e:
print(e)
执行脚本
python3 mzitu.py
# 或者后台执行
nohup python3 -u mzitu.py > mzitu.log 2>&1 &
相关文章
- 金融服务领域的大数据:即时分析
- 影响大数据、机器学习和人工智能未来发展的8个因素
- 从0开始构建一个属于你自己的PHP框架
- 如何将Hadoop集成到工作流程中?这6个优秀实践必看
- SEO公司使用大数据优化其模型的5种方法
- 关于Web Workers你需要了解的七件事
- 深入理解HTTPS原理、过程与实践
- 增强分析:数据和分析的未来
- PHP协程实现过程详解
- AI专家:大数据知识图谱——实战经验总结
- 关于PHP的错误机制总结
- 利用数据分析量化协同过滤算法的两大常见难题
- 怎么做大数据工作流调度系统?大厂架构师一语点破!
- 2019大数据处理必备的十大工具,从Linux到架构师必修
- OpenCV中的KMeans算法介绍与应用
- 教大家如果搭建一套phpstorm+wamp+xdebug调试PHP的环境
- CentOS下三种PHP拓展安装方法
- Go语言HTTP Server源码分析
- Go语言HTTP Server源码分析
- 2017年4月编程语言排行榜:Hack首次进入前五十