python爬虫能干什么-总算发现python爬虫能够干什么
网络爬虫另外一些不常使用的名字还有蚂蚁,自动索引,模拟程序或者蠕虫。下面是小编为您整理的关于python爬虫能够干什么,希望对你有所帮助。
python爬虫能够干什么
1.python爬虫可从网站某一个页面(通常是首页)开始,读取网页的内容,找到在网页中的其它链接地址,然后通过这些链接地址寻找下一个网页,这样一直循环下去,直到把这个网站所有的网页都抓取完为止。如果把整个互联网当成一个网站,那么网络蜘蛛就可以用这个原理把互联网上所有的网页都抓取下来。
2.网络爬虫(又被称为网页蜘蛛,网络机器人,在FOAF社区中间,更经常的称为网页追逐者),是一种按照一定的规则,自动的抓取万维网信息的程序或者脚本。另外一些不常使用的名字还有蚂蚁,自动索引,模拟程序或者蠕虫。
爬虫的基本流程:
用户获取网络数据的方式:
方式1:浏览器提交请求--->下载网页代码--->解析成页面
方式2:模拟浏览器发送请求(获取网页代码)->提取有用的数据->存放于数据库或文件中
爬虫要做的就是方式2;
1、发起请求
使用http库向目标站点发起请求,即发送一个Request
Request包含:请求头、请求体等
Request模块缺陷:不能执行JS 和CSS 代码
2、获取响应内容
如果服务器能正常响应,则会得到一个Response
Response包含:html,json,图片,视频等
3、解析内容
解析html数据:正则表达式(RE模块),第三方解析库如Beautifulsoup,pyquery等
解析json数据:json模块
解析二进制数据:以wb的方式写入文件
4、保存数据
数据库(MySQL,Mongdb、Redis)
文件
三、http协议 请求与响应
Request:用户将自己的信息通过浏览器(socket client)发送给服务器(socket server)
Response:服务器接收请求,分析用户发来的请求信息,然后返回数据(返回的数据中可能包含其他链接,如:图片,js,css等)
ps:浏览器在接收Response后,会解析其内容来显示给用户,而爬虫程序在模拟浏览器发送请求然后接收Response后,是要提取其中的有用数据。
四、 request
1、请求方式:
常见的请求方式:GET / POST
2、请求的URL
url全球统一资源定位符,用来定义互联网上一个唯一的资源 例如:一张图片、一个文件、一段视频都可以用url唯一确定
url编码
https://www.baidu.com/s?wd=图片
图片会被编码(看示例代码)
网页的加载过程是:
加载一个网页,通常都是先加载document文档,
在解析document文档的时候,遇到链接,则针对超链接发起下载图片的请求
3、请求头
User-agent:请求头中如果没有user-agent客户端配置,服务端可能将你当做一个非法用户host;
cookies:cookie用来保存登录信息
Python爬虫常用的几种数据提取方式
python爬虫的几种数据提取方式:正则 ,bs4,pyquery,xpath,cssselector。
知识点:
findall 返回的结果是列表套元组的形式
而search一般要加group(), groups(),
re.S 可以将正则的搜索域不再是一行,而是整个HTML字符串
.*? 非贪婪匹配 .*贪婪匹配
二, Beautifulsoup
obj = BeautifulSoup(html, "lxml")
BeautifulSoup将复杂HTML文档转换成一个复杂的树形结构,每个节点都是Python对象
知识点:
获得标签的某个属性: .get()
获得标签内部的文字: .string . strings .stripped_strings .get_text()
.string: 如果一个标签里面没有标签了,那么 .string 就会返回标签里面的内容。如果标签里面只有唯一的一个标签了,那么 .string 也会返回最里面的内容
.strings: 获取多个内容,返回结果是生成器,需要遍历获取
.stripped_strings输出的字符串中可能包含了很多空格或空行,使用 .stripped_strings可以去除多余空白内容
通过css筛选元素: .select()
.select():返回的是list
遍历文档树:
获取tag的子节点: .contents 返回的是list .children返回的是listiterator object
PyQuery
爬虫是什么?
如果我们把互联网比作一张大的蜘蛛网,数据便是存放于蜘蛛网的各个节点,而爬虫就是一只小蜘蛛,
沿着网络抓取自己的猎物(数据)爬虫指的是:向网站发起请求,获取资源后分析并提取有用数据的程序;
从技术层面来说就是 通过程序模拟浏览器请求站点的行为,把站点返回的HTML代码/JSON数据/二进制数据(图片、视频) 爬到本地,进而提取自己需要的数据,存放起来使用。
python爬虫能干什么-总算发现python爬虫能够干什么相关推荐
- 爬虫python能做什么-总算发现python爬虫能够干什么
网络爬虫另外一些不常使用的名字还有蚂蚁,自动索引,模拟程序或者蠕虫.下面是小编为您整理的关于python爬虫能够干什么,希望对你有所帮助. python爬虫能够干什么 1.python爬虫可从网站某一 ...
- python翻转课堂_总算发现如何运用翻转课堂用于数学教学
如何运用翻转课堂用于数学教学?翻转课堂能够给予学生足够大的空间,让学生有足够的时间去寻找适合自己的学习方法.小学学生的自我约束能力稍弱,因此学生学习习惯的培养显得尤为重要,恰巧翻转课堂对培养学生的学习 ...
- python与人工智能编程-总算明白python人工智能编程入门案例
Python是非常简洁的一种脚本语言,写同样的程序,代码量仅为java的三分一,除了性能没有Java强之外,它的优点还是相当多的.以下是小编为你整理的python人工智能编程入门案例 下载Active ...
- python入门代码示例-总算知道python入门代码示例
Python是一种解释型.面向对象.动态数据类型的高级程序设计语言.作为今年来越来越流行的语言,我们该如何学习或者转行学习Python呢,这里小迹为大家介绍如何入门学习Python.以下是小编为你整理 ...
- python快速入门答案-总算懂得python脚本快速入门教程
PyQt5是基于Digia公司强大的图形程式框架Qt5的python接口,由一组python模块构成.PyQt5本身拥有超过620个类和6000函数及方法.在可以运行于多个平台.PyQt5拥有双重协议 ...
- python学习手册条件-总算晓得python学习手册正式版
为了提高模块加载的速度,每个模块都会在__pycache__文件夹中放置该模块的预编译模块,命名为module.version.pyc,version是模块的预编译版本编码,一般都包含Python的版 ...
- python编程入门经典-总算理解python编程入门经典教程
为了提高模块加载的速度,每个模块都会在__pycache__文件夹中放置该模块的预编译模块,命名为module.version.pyc,version是模块的预编译版本编码,一般都包含Python的版 ...
- 爬虫入门(一):爬虫简介
哈喽,大家好,我是小爬虫,从今天开始,我们进入一个全新的领域--Python爬虫. 什么是爬虫?爬虫能干什么?如何学习爬虫?这将是我们这个系列文章主要解决的几个问题. 什么是爬虫 爬虫,也称网络爬虫, ...
- python一行代码_一行有效python代码
完成同样的功能,尽量少写代码 伊始 今天跟大家分享几个有趣的kata,刚开始做这几个kata的时候,我也写了很长的代码才完成,随着后来对python的深入接触,发现python一些简单却十分强大的特性 ...
最新文章
- Java培训好不好?零基础可以学吗?
- platform平台工作原理
- python中分割字符串两种方法正则分组别名,如何在python中使用正则表达式模块将文本字符串分割成单词?...
- Qt Example各例子演示功能说明
- python2clock_控制fps的时钟Clock类源码
- easyui 点滴记录
- 《Python Cookbook 3rd》笔记(2.7):最短匹配模式
- framebuffer驱动详解3——framebuffer驱动分析(driver和device的配套查找)
- Flex-iframe在SWF中嵌入网页的组件(推荐)
- Mobile-LPR——面向移动端的准商业级车牌识别库
- js轮询导致服务器瘫痪_面试官:讲一下什么是负载均衡,什么是轮询策略随机策略哈希策略...
- ASP.NET工作笔记014---用VB.NET封装服务器端控件
- LED,LCD,OLED,miniLED,MicroLED显示详解
- Android SwipeRefreshLayout 实现下拉刷新2
- 3d打印 路径规划_在FDM 3D打印中优化刀具路径规划
- 川土微 | CA-IS3105W 全集成 DC-DC 转换器
- vue 一周日历展示,上一周下一周展示。
- GoldenGate Enterprise Manager Plug-In(12.1.0.3.0) 部署文档
- python中[::-1][1:2][1::2]的用法
- Excel复制单元格样式