python网络信息提取_Python网络爬虫与信息提取讲解

网络爬虫是互联网上进行信息采集的通用手段,在互联网的各个专业方向上都是不可或缺的底层技术支撑,了解Python网络爬虫与信息提取,可以更好的掌握该项技术,通过一个朋友推荐的博客,带大家了解一下:

1.学习Python网络爬虫与信息提取,必须会一门编程语言和懂得一些网络相关知识,最好会Python语言;

2.Python网络爬虫讲解是建立在:

a、Requests框架:自动爬取HTML页面与自动网络请求提交

b、robots.txt:网络爬虫排除标准

c、BeautifulSoup框架:解析HTML页面

d、Re框架:正则框架,提取页面关键信息

e、Scrapy框架:网络爬虫原理介绍,专业爬虫框架介绍

等基础上的;

3. Requests的基础使用

注:Requests库是目前公认的爬取网页最好的Python第三方库,具有简单、简捷的特点。

官方网站:http://www.python-requests.org

在"C:\Windows\System32"中找到"cmd.exe",使用管理员身份运行,在命令行中输入:“pip install requests”运行。

使用IDLE测试Requests库:>>> import requests

>>> r = requests.get("http://www.baidu.com")#比如抓取百度页面

>>> r.status_code

>>> r.encoding = 'utf-8'

>>> r.text

Requests库的7个主要方法方法说明

requests.

request()构造一个请求,支撑一下各方法的基础方法

requests.get()获取HTML网页的主要方法,对应HTTP的GET

requests.head()获取HTML网页头的信息方法,对应HTTP的HEAD

requests.post()向HTML网页提交POST请求方法,对应HTTP的POST

requests.put()向HTML网页提交PUT请求的方法,对应HTTP的RUT

requests.patch()向HTML网页提交局部修改请求,对应于HTTP的PATCH

requests.delete()向HTML页面提交删除请求,对应HTTP的DELETE

get()方法详解:

r = requests.get(url)

get()方法构造一个向服务器请求资源的Request对象,返回一个包含服务器资源的Response对象。

requests.get(url, params=None, **kwargs)

url:拟获取页面的url链接

params:url中的额外参数,字典或字节流格式,可选

**kwargs:12个控制访问参数

Requests库的2个重要对象

· Request

· Response:Response对象包含爬虫返回的内容

Response对象的属性

1. r.status_code :HTTP请求的返回状态,200表示连接成功,404表示失败

2. r.text :HTTP响应内容的字符串形式,即,url对应的页面内容

3. r.encoding : 从HTTP header中猜测的相应内容编码方式

4. r.apparent_encoding : 从内容中分析出的相应内容编码方式(备选编码方式)

5. r.content : HTTP响应内容的二进制形式

6. r.encoding :如果header中不存在charset,则认为编码为ISO-8859-1 。

7. r.apparent_encoding :根据网页内容分析出的编码方式可以 看作是r.encoding的备选。

Response的编码:

8. r.encoding : 从HTTP header中猜测的响应内容的编码方式;如果header中不存在charset,则认为编码为ISO-8859-1,r.text根据r.encoding显示网页内容

9.r.apparent_encoding : 根据网页内容分析出的编码方式,可以看作r.encoding的备选

10.r.raise_for_status() : 如果不是200,产生异常requests.HTTPError;

4.Robots协议

Robots Exclusion Standard 网络爬虫排除标准

作用:网站告知网络爬虫哪些页面可以抓取,哪些不行。

形式:在网站根目录下的robots.txt文件。

例如:# 注释:*代表所有,/代表根目录

User-agent: *

Disallow: /?*

Disallow: /pop/*.html

Disallow: /pinpai/*.html?*

User-agent: EtaoSpider

Disallow: /

User-agent: HuihuiSpider

Disallow: /

User-agent: GwdangSpider

Disallow: /

User-agent: WochachaSpider

Disallow: /

注:Robots协议是建议但非约束性,网络爬虫可以不遵守,但存在法律风险。

实例:import requests

url = "https://item.jd.com/5145492.html"

try:

r = requests.get(url)

r.raise_for_status()

r.encoding = r.apparent_encoding

print(r.text[:1000])

except:

print("爬取失败")

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值