网络爬虫小知识

一、什么是网络爬虫

1.学习爬虫的原因:在大数据时代,要进行数据分析,首先要有数据源。而学习爬虫,可以让我们获取更多的数据源,并且这些数据源可以按我们的目的进行采集,去掉很多无关数据。

2.爬虫的分类:·通用爬虫:通常指搜索引擎的爬虫。·聚焦爬虫:针对特定网站的爬虫。聚焦爬虫在实施网页抓取时会对内容进行处理筛选,尽量保证只抓取与需求相关的网页信息。其中的页面数据与用户浏览器得到的HTML是完全一样的。

3.爬虫的优点:定向数据采集,数据定制化很强,数据针对性强。

4.爬虫的缺点:爬行算法的复杂度和实现难度较大。

网络爬虫(Web Crawler)又称网络蜘蛛、网络机器人,它是一种按照一定规则,自动浏览万维网的程序或脚本。通俗的讲,网络爬虫就是一个模拟真人自动请求万维网,并接收从万维网返回的数据。与真人浏览万维网相比,网络爬虫能够浏览的信息量更大,效率也更高。

网络爬虫分类:

1)通用网络爬虫

2)聚焦网络爬虫

3)增量式网络爬虫

4)深层网络爬虫

二、抓取静态网页数据

1、什么是urllib库

urllib库是python内置的HTTP请求库,它可以看作是处理URL的组件集合。

2、快速使用urllib爬取网页

3、使用urllib实现数据传输

4、添加特定Headers——请求伪装

如果不是从浏览器发出的请求,我们是不能获得响应内容的。针对这种情况,我们需要将爬虫程序发出的请求伪装成一个从浏览器发出的请求。

5、代理服务器

6、超时设置

我们可以为HTTP请求设置超时时间,一旦超过这个时间,服务器还没有返回响应内容,那么就会抛出一个超时异常,这个异常需要使用try语句来捕获。

三、解析网页数据

1、解析网页数据的技术

1)python中提供了多种解析网页数据的技术,包括正则表达式、XPath、Beatiful、Soup、JSONPath。

2)正则表达式是一种文本模式,这种模式描述了匹配字符串的规则,用于检索字符串中是否有符合该模式的子串进行替换。

3)正则表达式的优点是功能强大,应用广泛,缺点是只适合匹配文本的字面意义,而不适合匹配文本意义。

2、正则表达式与re模块

1)正则表达式是对字符串操作的一种逻辑公式,它会将事先定义好的一些特定字符,以及这些特定字符的组合,组合一个规则字符串,并且通过这个字符串表达对给定字符串的过滤逻辑。

2)正则表达式的语法

3、XPath与Ixml库

1)XPath即XML路径语言(全称Xml Path Language),是一种用于确定XML文档中部分界点位置的语言,他起初只支持搜索XML文档,更新后也只支持XML文档,更新后也支持搜索HTML文档。

2)常用的XPath函数如下

position():返回当前被处理的节点的位置

last():返回当前节点集中的最后一个节点

count():返回节点的总数目

max((arg,arg...)):返回大于其他参数的参数

min((arg,arg...)):返回小于其他参数的参数

name():返回当前节点的名称

current-date:返回当前的日期(带有时区)

current-time:返回当前的时间(带有时区)

contains(string1,string2):若string1包含string2,则返回true,否则返回false

4、Beautiful Soup

5、JsonPath与jsonpath模块

JSONPath语法

四、抓取动态网页数据

1、抓取动态网页的技术

对于动态网页的数据可以直接使用模拟浏览器运行的方式进行实现,这样做就可以不用管网页内部是如何使用javaScript渲染页面的,也不用管Ajax请求中待敌有没有加密参数,在浏览器中看到是什么样内容,抓取的结果便是什么样的内容。

2、Seienium的基本使用

3、Seienium和WebDriver的安装与配置

4、实践项目:采集集信达平台的短信服务日志信息

五、存储数据

1、数据存储的方式

存储数据是实现网络爬虫的最后一个环节,我们在这个环节主要做的事情便是将解析后的数据进行持久化存储,为后期的数据研究工作做好准备、我们可以采用两种方式存储wlpc采集的数据:文件存储和数据库存储。

2、存储至Redis数据库

3、存储至MongoDB数据库

4、实践项目:采集小兔鲜儿网的商品信息

六、初识网络爬虫框架Scrapy.pptx

1、Scrapy框架简介

Scrapy框架的功能如此强大,离不开其自身具备的如下几个优点

  • 具有丰富的文档、良好的社区以及庞大的用户群体。
  • Scrapy支持并发功能,可以灵活地调整并发线程的数量。
  • 采用可读性很强的XPath技术解析网页,解析速度更加快速。
  • 具有统一的中间件,可以对数据进行过滤。
  • 支持Shell工具,方便开发人员独立调试程序。
  • 通过管道将数据存入数据库,灵活方便,且可以保存为多种形式。
  • 具有高度的可定制化功能,经过简单的改造后便可以实现具有特定功能的网络爬虫。

2、Scrapy框架运行操作

  • Scrapy框架的强大功能离不开众多的组件支撑,这些组件相互协作,共同完成整个采集数据的任务。Scrapy框架的架构图如下图所示:

3、Scrapy框架安装

4、Scrapy框架基本操作

七、爬虫基础语句:

1、导入必要的库和模块:

1)import requests

2)from bs4 import BeautifulSoup

2、发送HTTP请求并获取网页内容:

1)url = "http://example.com"  

2)response = requests.get(url)

3、解析网页内容:

soup = BeautifulSoup(response.text, "html.parser")

4、查找特定元素:

elements = soup.find_all("div", class_="example")

5、提取特定属性:

href = soup.find("a", href=True)["href"]
6、提取文本内容:

text = soup.find("p").text

7、保存爬取的数据:

1)with open("output.txt", "w") as f:  
2)f.write(text)

  • 24
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值