@toc
呀嘞呀嘞💌,一直都想学爬虫,从上学期下定的决心,但一直考试周,压缩考试耽误(╬▔皿▔)╯,开始了开始了,不鸽了不鸽了(想起来就更新哦,尽量每周,两到三更)
我要让全世界知道我很低调!
—— Jerry Yu
掌握一些基本的常识啦
简言之,
HTML(HyperText Markup Language):网页的内容和结构
CSS(Cascading Style Sheets):网页的样式
JavaScript:网页的行为,与用户的交互
自行百度了解掌握,什么是以下的红框框的内容
像是Cookie这样的东西,要重点学习,会有大用处.🎈
图中可以看到,网页的HTML源码中,基本内容都是通过id,class等对象进行嵌套组成的内容框架。那么对于不同的位置,都设置了不同的id等名称进行分开处理,我们想要定位到我们想要内容或者源码的位置,就要学会使用选择和定位的函数。
<div id='hello'>
表示成 #hello
其中#开头代表选择id,其后紧跟id的名称
就可以使用
.windows
以点‘ . ’开头代表选择class,其后紧跟class的名称
例如想要选择二级标题,直接使用h2即可
例如
#container.wrapper p
· 代表先选择id为continer的节点
· 然后选中其内部的class为wrapper的节点
· 然后再进一步选中其内部的p节点
如果不加空格的话,代表并列关系
例如
div#container.wrapper p.next
· 代表先选择id为container的div节点
· 然后选中其内部的class为wrapper的节点
· 再进一步选中其内部的class为text的p节点
爬虫就是获取网页并提取和保存信息的自动化程序
爬虫主要就是获取网页,即获取网页的源代码
实现这种操作的库有:urllib,requests等
比较简单,但是可能容易出错
网页结果具有一定规则,所以可以根据网页节点属性,CSS选择器或XPath来提取网页信息的库
如Beautiful Soup,pyquery,lxml等
可以高效的提取节点的属性,文本值等
可以保存为TXT或者JSON文本
也可以保存到数据库MySQL,MongDB等
也可以保存到远程服务器,借助SFTP等进行操作
爬虫代替人工来完成上述的爬取网页的过程,可以进行各种异常处理,错误重试等操作,更加高效的运行
我们所抓取的数据格式多种多样,包括文本,图像,视频,音频等,爬取后,保存成对应的文件名
有时可能出现urllib或者requests得到的代码和浏览器并不同,现在越来越多的网页采用Ajax,前端模块化工具进行构建,整个网页利用JavaScripts渲染出来的,
即原本的HTML网页就是空壳
对应的,我们可以分析其后台的Ajax接口,也可以使用Selenium,Splash这样的库来实现模拟Javascript的渲染
呼~第一天的爬虫就学到这里啦❤
看似短小的一篇文章,花了将近一个多小时进行编写
未来的暑假时间,持续更新,希望有所收获,爬虫更进一步,当然能“变现”就更好啦o((>ω< ))o
本文章学习的视频为:Python 3网络爬虫开发实战(图灵出品)
请大家多多支持原作者哈!
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。