202012798范明霞的博客
1.爬虫基本概述
1.1什么是爬虫
网络爬虫是一种程序,主要用于搜索引擎,它将一个网站的所有内容与链接进行阅读,并建立相关的全文索引到数据库中,然后跳到另一个网站.样子好像一只大蜘蛛.爬虫是一个模拟人类请求网站行为,并批量下载网站资源的一种程序或自动化脚本。
1.2爬虫基本流程
- 通过request请求网页
- 获得相应内容
- 解析内容
- 存储解析的数据
- 爬虫与反爬虫
2具体步骤
2.1请求网页
通过HTTP库向目标站点发起请求,即发送一个request,请求可以包含headers等信息,然后等待服务器响应。
2.2获得相应内容
若服务器能正常响应,会获得response,response的内容便是所要索取的页面内容。
2.3解析内容
解析可通过1.正则表达式2.HTML解析3.BeautifulSoup4.XPath
- 正则表达式:有很多现成的库可以直接用,不需要我们去大量定义正则表达式,且没法复用。
- BeautifulSoup:是基于DOM的方式,简单的说就是会在解析时把整个网页内容加载到DOM树里,内存开销和耗时都比较高,处理海量内容时不建议使用。
- HTML解析:高度封装且源码清晰,它直接整合了大量解析时繁琐复杂的操作,同时支持DOM解析和XPath解析两种方式,灵活方便。
- XPath:基于SAX的机制来解析,不会像BeautifulSoup去加载整个内容到DOM里,而是基于事件驱动的方式来解析内容,更加轻巧。
2.4存储解析的数据
保存形式较多,可以保存为文本,也可以保存至数据库或者特定格式的文件(with open函数用于持续化存储)。
2.5爬虫与反爬虫
爬虫:使用任何技术手段,批量获取网站信息的一种方式。关键在于批量。
反爬虫:使用任何技术手段,阻止别人批量获取自己网站信息的一种方式,关键也在于批量。
查看网站use-agent:
import urllib
from urllib import requestheaders = {"user-agent":"ozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36 Edg/106.0.1370.52 "}url = "https://www.baidu.com"rep = urllib.request.Request(url=url,headers=headers)res = urllib.request.urlopen(rep)
202012798范明霞的博客相关推荐
- 李明杰的视频和李明杰的博客是学习OC的基础
http://www.cocoachina.com/bbs/read.php?tid=196664 转载于:https://www.cnblogs.com/guozai9527/p/4025125.h ...
- 2022年博客之星排行榜 日榜 2023-01-01 博客之星总榜
2022年博客之星排行榜 日榜 2023-01-01 博客之星总榜 备注: 数据来源 :https://pachong.vip/csdn/blogstar,如有侵权,联系秒删~ 博主链接: htt ...
- 2022年博客之星排行榜 日榜 2023-01-02 博客之星总榜
# 2022年博客之星排行榜 日榜 2023-01-02 博客之星总榜 备注: 数据来源 :https://pachong.vip/csdn/blogstar,如有侵权,联系秒删~ 博主链接: htt ...
- 2022年博客之星排行榜 日榜 2022-12-31 博客之星总榜
2022年博客之星排行榜 日榜 2022-12-31 博客之星总榜 备注: 数据来源 :https://pachong.vip/csdn/blogstar,如有侵权,联系秒删~ 博主链接: http: ...
- 2022年博客之星排行榜 日榜 2023-01-03 博客之星总榜
2022年博客之星排行榜 日榜 2023-01-03 博客之星总榜 备注: 数据来源 :https://pachong.vip/csdn/blogstar,如有侵权,联系秒删~ 博主链接: http: ...
- 推荐的讲解算法的网站、好博客:
http://www.csie.ntnu.edu.tw/~u91029/ 讲解.代码格式.图表都很规范,覆盖广 http://www.matrix67.com/informatics.html Mat ...
- 个人主页博客网页设计制作HTML5+CSS大作业——个人相册展示留言博客模板(6页) 简单个人网页制作
HTML5+CSS大作业--个人相册展示留言博客模板(6页) 常见网页设计作业题材有 个人. 美食. 公司. 学校. 旅游. 电商. 宠物. 电器. 茶叶. 家居. 酒店. 舞蹈. 动漫. 明星. 服 ...
- 一个程序员的自白:我为什么写博客
时间: 2011年 人物: 初出茅庐的臭小子, 臭石头一般坚硬的相信我将来一定会成为富二代他爹. 我来到一个大型互联网公司, 同事很nice, 管理很自由, 在这里开始了我的码农生涯. 我很敬重部门老 ...
- CSDN写博客更改代码颜色为白色代码样式
一.背景 在平时发博客时,代码块背景默认是黑色的,而注释是黑色的,总是看起来很不清楚. 直接上图: 注释看起来很不清晰,现在我们修改一下颜色为白色. 直接上图: 下面是具体设置方式,还有更多颜色任你挑 ...
最新文章
- 经典:盘点80后男人找老婆的20条标准
- ExtJs Form 表单验证
- sqlite to mysql_SqliteToMysql
- php iconv 无效,关于nodejs iconv的编码无效 说明
- 剑指Offer - 面试题36. 二叉搜索树与双向链表(中序循环/递归)
- 基于tcpdump实例讲解TCP/IP协议
- 共享充电宝“脱贫”:打脸王思聪 眼红了“负翁”ofo
- 前端开发者必备的代码开源平台
- STM8学习笔记---union联合体的应用
- 【NLP】蓦然回首:谈谈学习模型的评估系列文章(一)
- Android布局之屏幕自适应
- SpringMVC的Model、Model Map、ModelAndView
- 通过给目标函数增加一个正则项来防止其过拟合
- 用C语言实现PID控制代码
- 影响力最大化 RIS 反向影响力采样算法
- 驱动开发:断链隐藏驱动程序自身
- 操作系统--04文件管理
- *【华为机试真题详解】判断字符串子序列**
- php判断学生姓名,【PHP】百家姓姓名判断
- 医依通小程序项目总结
热门文章
- 前端实现图片验证码效果(数字和字母)
- 【蓝桥杯集训·每日一题】AcWing 3777. 砖块
- 解决tar: Error is not recoverable: exiting now
- 第 l 个数到第 r 个数的和
- linux学习-解决“sshd: no hostkeys available -- exiting”
- 纯jquery 前端导入 Excel数据 减少服务端压力
- 7种常用函数图象及4种函数图象变换规则
- 我的职业生涯(五) 告别六天工作制
- 腾讯云web应用防火墙(WAF)防护设置步骤介绍
- 《利用python进行数据分析》第二版 第13章-Python建模库介 学习笔记