网络爬虫另外一些不常使用的名字还有蚂蚁,自动索引,模拟程序或者蠕虫。下面是小编为您整理的关于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爬虫能够干什么相关推荐

  1. 学了python可以做什么兼职,学python真的能做兼职吗??

    学好Python可以做什么兼职 学会python可以做的兼职:1.爬虫首先,除了Python的语法基础的之外的必修课就是web开发和爬虫的内容了.如果是想依靠这两个方向来赚钱的话,就必须要清楚的知道开 ...

  2. 学了python可以做什么兼职,学python真的能做兼职吗

    学好Python可以做什么兼职 学会python可以做的兼职:1.爬虫首先,除了Python的语法基础的之外的必修课就是web开发和爬虫的内容了.如果是想依靠这两个方向来赚钱的话,就必须要清楚的知道开 ...

  3. python可以做什么工作好-Python可以做什么工作?Python有哪些方向?

    Python现在是一种相对流行的语言,可以做很多事情,可以从事很多工作,但是对于某些小白来说,他们不是很了解,但是他们更关心Python的就业情况.那么Python可以做什么工作呢?Python有哪些 ...

  4. python可以做什么工作-Python可以做什么工作?Python有哪些方向?

    Python现在是一种相对流行的语言,可以做很多事情,可以从事很多工作,但是对于某些小白来说,他们不是很了解,但是他们更关心Python的就业情况.那么Python可以做什么工作呢?Python有哪些 ...

  5. 爬虫python能做什么 知乎,python网络爬虫能做什么

    python爬虫能做什么 世界上80%的爬虫是基于Python开发的,学好爬虫技能,可为后续的大数据分析.挖掘.机器学习等提供重要的数据源.什么是爬虫? (推荐学习:Python视频教程)网络爬虫(又 ...

  6. python最适合做什么-总算明了python适合做什么

    在学习完Python的基础知识之后,有很多朋友为自己接下来要干什么感到迷茫.不知道应该通过什么样的项目来锻炼自己编程水平和思维能力.接下来我就给大家说几个适合Python的新手项目和练手项目,Pyth ...

  7. 学python可以做什么知乎-Python学到什么程度可以面试工作?

    0710更新: 不多说,上干货!!!最近得到了一张比较全面的Python图谱,直接分享给你们!!!(我看过,知识点还是很全面的,基础知识.数据分析.爬虫实战.后台开发实战以及人工智能实战项目,都包含了 ...

  8. python编程做什么工作-学习Python编程后在成都可以做哪些工作?

    原标题:学习Python编程后在成都可以做哪些工作? Python被称为编程语言中的万能胶水,比如可以用来做爬虫,做网页,运维还有现在很火的人工智能Al都可以用上Python.一是Python有很多数 ...

  9. python可以做什么工作好-Python入门后,想要从事自由职业可以做哪方面工作?

    Python入门后,想要从事自由职业可以做哪方面工作? 1.爬虫 很多人入门Python的必修课之一就是web开发和爬虫.但是这两项想要赚钱的话,就必须知道开发什么爬什么数据才能赚钱.如果你都不知道的 ...

最新文章

  1. 开发日记-20190905 关键词 Linux (Ubuntu) 下的Android模拟器:Genymotion
  2. python3.6.8下robot framework ride 测试环境搭建
  3. 用户退出登录清空cookie
  4. 音视频技术开发周刊 | 140
  5. 正则表达式匹配字符串的问题
  6. 任务调度及远端管理(基于Quartz.net)
  7. 前端学习(3166):react-hello-react之鼠标移入效果
  8. 机器学习算法总结--线性回归和逻辑回归
  9. JavaScript高级程序设计学习(四)之引用类型(续)
  10. Maven 模块管理
  11. Linux下网络抓包工具(ngrep)
  12. emos后台管理项目心得
  13. php网站微博帐号登录代码,redis+php实现微博(一)注册与登录功能详解
  14. 天天向上的力量python代码解释_python天天向上的力量
  15. 资源地址总览(实时更新中)
  16. Java校招面经_小米java校招面经,面试题整理(一面)
  17. C语言中 .c 和 .h 文件有什么关系?
  18. 软件测试,自学3个月出来就是高薪工作?你以为还是2019年以前?
  19. python实现图像差异性分析(标记并记录差异点)
  20. 一行Python代码生成酷炫/恶搞/表白二维码(内附源码)

热门文章

  1. work summery(5)
  2. RHEL6 kernel bug在hadoop上的测试
  3. PageRank三个博客mark
  4. UVA11968 In The Airport【最值】
  5. UVA11942 Lumberjack Sequencing【Ad Hoc】
  6. CCF NOI1026 表演打分
  7. CCF201609-4 交通规划(100分)
  8. matlab 音频处理、Python音频处理
  9. matplotlib 等高线的绘制 —— plt.contour 与 plt.contourf
  10. WinEdt LaTex(四)—— 自定义新命令(newcommand、def)