002.(3.27-3.28)Robots.txt; BeautifulSoup; RE;以及相关实例

##爬虫Day2

  • 02 网络爬虫安全
    1.网络爬虫引发的问题:
    ###网络爬虫的尺寸:网页(Requests库)——网站(Scrapy库)——全网(定制开发,搜索引擎)。

    ###网络爬虫骚扰(对服务器)

    ###爬虫的合法性:几乎每一个网站都有一个名为 robots.txt 的文档,当然也有部分网站没有设定 robots.txt。对于没有设定 robots.txt 的网站可以通过网络爬虫获取没有口令加密的数据,也就是该网站所有页面数据都可以爬取。如果网站有 robots.txt 文档,就要判断是否有禁止访客获取的数据。当然robots协议本身也只是一个业内的约定,是不具有法律意义的,所以遵不遵守呢也只能取决于用户本身的底线了。

    ###网络爬虫的限制:1.来源审查(User-Agent);2.发布公告(Robots协议)。
    2.Robots协议:
    User-agent:* (针对所有爬虫)
    Disallow:/ (针对根目录)

  • 03 实例练习(00、01、02)
    1.亚马逊官网503错误:用headers检查,其中有自身爬虫的request信息,被亚马逊通过来源审查限制。解决方法:

   d={
   'User-agent':'Chorme/10.0'}                              ##模拟浏览器
   r=requests.get('https://www.amazon.cn/',headers=d)
   print('r.status_code')
200

2.搜索关键词提交:关键词提交接口

  	kv={
   'wd':'content'}                          ##改变身份
  	r = requests.get(url,params=kv)
  	print(r.request.url)                         ##检查

https://www.baidu.com/?wd=content

3.网络图片爬取:
split("/")[-1] 和 split("/",-1)的区别

>>> str="http://www.runoob.com/python/att-string-split.html"
>>> print("0:%s"%str.split("/")[0])                   ##都是获得选定切割对象后面起的内容
0:http:
>>> print("0:%s"%str.split("/")[2])
0:www.runoob.com
>>> print("0:%s"%str.split("/")[-1])
0:att-string-split.html
>>> print("0:%s"%str.split("/"1))
SyntaxError: invalid character in identifier
>>> print("0:%s"%str.split("/",1))
0:['http:', '/www.runoob.com/python/att-string-split.html']
import requests
import os
url='https://www.baidu.com/img/bd_logo1.png'              ##图片地址
root='E://new file//'                                     ##(根)目录
path=root+url.split('/'
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值