前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >网络爬虫(一)

网络爬虫(一)

作者头像
陆勤_数据人网
发布2020-11-26 15:25:52
6060
发布2020-11-26 15:25:52
举报

本期主要介绍一些与网络爬虫相关的知识!

爬虫是按照一定规则,自动地提取并保存网页中信息的程序。通过向网站发起请求获取资源,提取其中有用的信息。爬虫在获取信息、整理数据等方面应用广泛。

一、网络爬虫:需要安装的包

• requests:HTTP请求库

Python实现的一个简单易用的HTTP库,支持HTTP持久连接和连接池、SSL证书验证、cookies处理、流式上传等,向服务器发起请求并获取响应,完成访问网页的步骤,简洁、容易理解,是最友好的网络爬虫库。

http请求类型

requests.request():构造一个请求

requests.get():获取HTML网页

requests.head():获取HTML网页头信息

requests.post():提交POST请求

requests.put():提交PUT请求

requests.patch():提交局部修改请求

requests.delete():提交删除请求

requests.options():获取http请求

返回的是一个response对象,response对象包含服务器返回的所有信息,例如状态码、编码形式、文本内容等;也包含请求的request信息 .status_code:HTTP请求的返回状态 .text:HTTP响应内容的字符串形式 .content:HTTP响应内容的二进制形式 .encoding:(从HTTP header中)分析响应内容的编码方式 .apparent_encoding:(从内容中)分析响应内容的编码方式。

定制请求头。requests的请求接口有一个名为headers的参数,向它传递一个字典来完成请求头定制。设置代理。一些网站设置了同一IP访问次数的限制,可以在发送请求时指定proxies参数来替换代理,解决这一问题。

• beautifulsoup4:HTML文档分析库

页面解析器:使用requests库下载了网页并转换成字符串后,需要一个解析器来处理HTML和XML,解析页面格式,提取有用的信息。

解析器类型

搜索方法:find_all(name, attrs, recursive, string,**kwargs),返回文档中符合条件的所有tag,是一个列表。find(name, attrs, recursive, string,**kwargs) ,相当于find_all()中limit = 1,返回一个结果。name:对标签名称的检索字符串。attrs: 对标签属性值的检索字符串。recursive: 是否对子节点全部检索,默认为True。string: <>...</> 中检索字符串。**kwargs:关键词参数列表。

• lxml:页面解析器

二、爬虫的基本流程

分析网页结构

爬取页面:通过requests库向目标站点发送请求,若对方服务器正常响应,能够收到一个response对象,它包含了服务器返回的所有信息。

解析页面:HTML代码-网页解析器,此处使用bs4进行解析。

推荐阅读:图像处理

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2020-11-21,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 数据科学与人工智能 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
SSL 证书
腾讯云 SSL 证书(SSL Certificates)为您提供 SSL 证书的申请、管理、部署等服务,为您提供一站式 HTTPS 解决方案。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档