从零到入职-番外篇-Python-网络爬虫

工具准备

  1. Python环境 -> 建议用Anaconda
  2. 浏览器 -> Chrome (它提供了强大的开发者工具)
  3. Pycharm
  4. Web应用(需要了解一下网络访问的全过程)
  5. HTML(超文本标记协议,组织网页结构内容)
  6. CSS(层叠样式表,页面的展示方式)
  7. JavaScript(弥补HTML,CSS的不足,为用户提供更丰富的交互模式)

爬虫

网络爬虫(网络蜘蛛、网络机器人)

获取网络海量数据的方法

  1. 买数据(操作简单,成本高,针对性不强)
  2. 买服务(针对性比较强,灵活性不强)
  3. 开发爬虫,跟就自己的需求去获取数据(成本低,灵活性强)

如何开发爬虫

  1. 选择合适的语言 (C++ Java Python)
    为什们选择Python,语法简单,提供了强大的库
  2. 分析数据来源
  3. 分析页面组成方式
  4. 编写代码
  5. 运行

HTML

我是用的HBuilder。

超文本标记语言 HyperText Markup Language
标记:标签 <标签名> 标签内容 </标签名>
不同的标签具有不同的功能和作用。
超文本:超链接,图片,音频,视频,Flash……。
超链接(在爬虫中很重要):从一个界面跳转到另一个界面
将多个网页联系起来,组成一个网络结构。
基本构造 (DOM树)
在这里插入图片描述
树的遍历:
先序,中序,后序遍历。
深度优先,广度优先遍历。(这玩意我们之后爬虫可能会用到)

标签
< h1 >< /h1 >……< h6 >< /h6 >标题标签
< b >< /b > 加粗显示
< strong >< /strong >加粗显示
< i >< \i >斜体显示
就不一一介绍,可以自己去看
超链接
< a herf =‘跳转地址’ >< /a >
在这里插入图片描述
当然 也可以设置在本页打开还是新标页签打开
新标页签打开
在这里插入图片描述
本页打开
在这里插入图片描述

图片标签
单标签
< img src = ‘’ / >
在这里插入图片描述
设置宽度与高度
在这里插入图片描述

列表标签

  1. 无序列表
    < ul >
    < li >元素< /li >
    < li >元素< /li >
    < li >元素< /li >
    < /ul >
  2. 有序列表
    < ol >
    < li >元素< /li >
    < li >元素< /li >
    < li >元素< /li >
    < /ol >
  3. 自定义列表
    < dl >
    < dt >标题< /dt >
    < dd >元素< /dd >
    < /dl >
    在这里插入图片描述
    在这里插入图片描述
    表格标签
    < table >

HTML表格标签要注意,先画好行,再设置单元格。
在这里插入图片描述
< tr > < /tr >代表设置行
< td > < /td >代表设置单元格
border 代表设置边框,1个像素大小。

表单标签
让用户输入数据,接收数据。
< form action = ‘请求的地址’ method = ‘提交的方式(get,post)’>
表单元素
< input type = ‘类型’ name = ‘表单提交时参数名’/>
< /form >

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
下拉文本框跟文本域在这里插入图片描述
不管是表单标签里面的任何标签,要想提交必须加上name属性。
get请求,参数会拼接在地址中,而且get请求只能传递字符串类型(文本类)的参数,不能上传文件,而且有长度限制
post 参数不会拼接在地址中,而且能传输所有类型文件,不受长度限制。

CSS

基本的语法结构

选择器{
属性:值
}

选择器:

  1. 标签选择器
  2. class选择器(通过标签的class属性进行选择)
  3. id选择器(通过标签的id属性进行选择)
  4. 属性选择器(通过指定的属性进行选择)
  5. 后代选择器
  6. 子元素选择器
    在这里插入图片描述
    在这里插入图片描述
    依次是标签,class,id,属性
    在这里插入图片描述

JavaScript

在这里插入图片描述
在这里插入图片描述
非常滴人性化。

当然了,如果你不想写在标签里,显得很乱,可以写在Script标签里,就像这样。在这里插入图片描述
在这里插入图片描述
依旧是非常滴银星话。
下面展示一些 内联代码片

// A code block
var foo = 'bar';
<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title></title>
		<script>
			function btn_click(){
				alert('按钮被点击')
				div = document.getElementById('d')
				div.innerHTML = '爬虫'
			}
		</script>
	</head>
	<body>
		<div id="d">python</div>
		<button onclick="btn_click()">按钮</button>
	</body>
</html>

大家可以试试这个代码什么作用,如果换成这样呢
在这里插入图片描述
下面这种代码的情况就是我们爬虫需要注意的地方。
js可以动态的任意的改变HTML的结构和内容(即看到的不一定是原来的代码)
ajax技术,网页异步技术。

对于动态网页,我们的抓取可以使用模拟浏览器执行js的操作完成
selenium(Web测试工具)

这里提一下,我们以后用到会详细讲

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
【为什么学爬虫?】        1、爬虫入手容易,但是深入较难,如何写出高效率的爬虫,如何写出灵活性高可扩展的爬虫都是一项技术活。另外在爬虫过程中,经常容易遇到被反爬虫,比如字体反爬、IP识别、验证码等,如何层层攻克难点拿到想要的数据,这门课程,你都能学到!        2、如果是作为一个其他行业的开发者,比如app开发,web开发,学习爬虫能让你加强对技术的认知,能够开发出更加安全的软件和网站 【课程设计】 一个完整的爬虫程序,无论大小,总体来说可以分成三个步骤,分别是:网络请求:模拟浏览器的行为从网上抓取数据。数据解析:将请求下来的数据进行过滤,提取我们想要的数据。数据存储:将提取到的数据存储到硬盘或者内存中。比如用mysql数据库或者redis等。那么本课程也是按照这几个步骤循序渐进的进行讲解,带领学生完整的掌握每个步骤的技术。另外,因为爬虫的多样性,在爬取的过程中可能会发生被反爬、效率低下等。因此我们又增加了两个章节用来提高爬虫程序的灵活性,分别是:爬虫进阶:包括IP代理,多线程爬虫,图形验证码识别、JS加密解密、动态网页爬虫、字体反爬识别等。Scrapy和分布式爬虫:Scrapy框架、Scrapy-redis组件、分布式爬虫等。通过爬虫进阶的知识点我们能应付大量的反爬网站,而Scrapy框架作为一个专业的爬虫框架,使用他可以快速提高我们编写爬虫程序的效率和速度。另外如果一台机器不能满足你的需求,我们可以用分布式爬虫让多台机器帮助你快速爬取数据。 从基础爬虫到商业化应用爬虫,本套课程满足您的所有需求!【课程服务】 专属付费社群+定期答疑

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值