网络爬虫,按照一定的规则,自动的抓取万维网信息的程序或脚本。
只要有URL就可以获取网页
通过html源码解析获得想要的内容
crawling process:
从网页的URL开始
在抓取网页的过程中,不断从当前页面抽取新的URL放入队列中
直到满足系统通知条件
1、从已知种子的URL开始,放入URL队列
2、从URL队列中取出URL获取对应网页内容p
3、对网页p进行解析
-获得内容
-获得超级连接,放入URL队列(保证每次的URL是没有访问过的
•遍历方式 •URL察重
4、转到2
•终止条件 •分布式爬虫
网络爬虫怎样做合法
经网站允许(robots协议)
具有爬虫功能的软件
-execel2013
- Google sheet
常见的开源爬虫:
- Java:webcollector,heritrix,netch
-c/c++:Larkin
-python: scrapy, pyspider等
App:
- You-Get
-八爪鱼采集器(可以获得网站公开的数据
(自定义配置组合浏览器,反爬措施,破解验证码-深度学习
-后羿采集器(爬小说
开源工具:nutch
多线程
宽度优先
python语言
·一种跨平台的计算机程序设计语言
·高层次的结合了解释性,编译性,互动性和面向对象的脚本语言
应用领域
-网络爬虫 -人工智能
·shell
·IDLE:python的集成和开发环境
运行python代码:
3.9.6(我的python版本)
python学习—菜鸟教程
根据URL找到相应的网页内容:urllib库
URL-独一无二的资源定位器,只要有URL就可以找到对应的资源
在数据的传送中,以http协议发过去,并以http协议传送回来,是tcp/IP协议中的一个
http中含有用什么浏览器访问的一useragent 浏览器型号
-在python2中有urllib和urllib两个库可以实现request的发送
-在python3中 统一为urllib
解析的功能非常弱。 -paese
robot在这里指的是爬虫
双方的协议,那些网页允许爬
使用此部分读取robots.txt并放还给变量
urllib,request模块提供了最基本的构造http的请求方法,来模拟浏览器的动作
•同时带有authentication(授权验证),redirection(重定向),cookies(浏览器的cookies)(网络连续性)
·urllib.request.urlopen()函数打开一个URL
py代码:
import urllib.request
url="http://www.sdu.edu.cn"
response=urllib.request.urlopen(url) //模拟浏览器操作
//返回的是一个结果,结果是字符流
print(response.read())