Python网络爬虫与信息提取(二):网络爬虫之规则

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/hxxjxw/article/details/89851850

Requests库的7个主要方法

网络爬虫的尺寸

网络爬虫带来的问题

骚扰问题

          对于一个网站来讲,网络爬虫就像骚扰电话一样,可以对这个网站带来很致命的骚扰功能

网络爬虫的法律风险

        服务器上的数据有产权归属

        网络爬虫获取数据后牟利将带来法律风险

        曾经有法院判处网络爬虫赔偿服务器网站巨额费用

网络爬虫泄露隐私

         网络爬虫可能具备突破简单访问控制的能力,获得被保护数据从而泄露个人隐私


网络爬虫的限制

       在实际的使用中一些较大的网站都对网络爬虫有相关的限制。在整个Internet上,也将网络爬虫作为一个可规范的功能来看待

对于一般的服务器来讲,可以用2种方式限制网络爬虫:来源审查和发布公告

来源审查 

        如果服务器/网站的所有者有一定的技术能力,可以通过来源审查来限制网络爬虫

       在进行浏览器访问的时候,不论是浏览器还是访问的软件,都会把它自己设定一个标识,放在User-Agent里。对网站服务器,它判断你HTT[的协议头,如果的User-Agent字段,不是预定的浏览器,那很可能就是一个爬虫 

发布公告

       像一个告示牌,告诉所有的爬虫,网站上哪部分内容你可以爬取,那部分你不可以爬取。

       但是是否遵守就要由网络爬虫自身来决定了


Robots协议

       robots协议一定是放在网站的根目录下,并不是所有的网站都有robots协议(如教育部的网站),没有robots协议的网站默认允许所有爬虫无限制地爬取其页面内容

Requests库网络爬虫实战

京东页面商品的爬取

爬取页面:https://item.jd.com/2967929.html     (一款手机)

状态码是200,说明返回的信息正确,并且获得了这个链接相应的内容

import requests
url = 'https://item.jd.com/2967929.html'
try:
	r = requests.get(url)
	r.raise_for_status()
	r.encoding = r.apparent_encoding
	print(r.text[:1000])
except:
	print('爬取失败')

猜你喜欢

转载自blog.csdn.net/hxxjxw/article/details/89851850