网页抓取数据百度百科(网络爬虫(又称为网页蜘蛛)爬虫协议的道德标准 )

优采云 发布时间: 2022-01-30 12:01

  网页抓取数据百度百科(网络爬虫(又称为网页蜘蛛)爬虫协议的道德标准

)

  爬行动物科学

  一个定义

  近年来,爬虫这个词广为流传,还有一个新兴的职位——爬虫工程师。那么什么是爬行动物?

  下面是百度百科的解释:

  网络爬虫(也称为网络蜘蛛、网络机器人,在 FOAF 社区中更常称为网络追逐者)是根据一定规则自动从万维网上爬取信息的程序或脚本。其他不太常用的名称是 ant、autoindex、emulator 或 worm。

  大概还是不明白。

  

  其实通俗的说,就是在网络上根据自己的需要,通过相应的技术手段来获取我们需要的数据信息。这个过程称为爬行。

  该网站是API。. .

  我们说网络上的每一个网站都被看作是一个API,也就是一个接口,通过它我们可以获取信息和数据。一个网站叫做 URL,这个 URL 就是我们爬取的 API。

  爬虫无非就是以下几个流程:

  1、了解网页

  2、获取网页内容

  3、解析网页并选择需要的内容

  4、保存你想要的

  两个机器人协议

  在爬取之前,你需要知道一些事情:

  1、服务器上的数据是专有的。

  2、网络爬虫数据牟利存在法律风险。

  3、爬虫可能会丢失个人数据。

  许多公司还对爬虫进行了一些预防设置。一般会判断你的访问来源,并尝试判断你是被人网站访问还是被机器访问,从而做出必要的限制。

  robots协议,也称为robots.txt,是大家都认同的爬虫协议。说白了,就是爬虫的道德标准。很多公司会在它的一些网站上设置robots协议,这个协议会告诉你哪些内容网站允许你爬取,哪些内容不允许爬取。该协议是 网站 根目录中的 robots.txt 文件。京东的机器人协议如下。

  

  首先,我将向大家解释这些的目的。也希望大家都能做一个合法的爬虫,遵守网络道德,做社会主义的接班人。不过普通的小爬虫是允许的,大家可以大胆尝试。

  

  三爬虫框架

  目前爬虫已经有比较成熟的框架和比较成熟的第三方库供大家使用。

  

  上面给出了两个更成熟的爬虫库。下面我们简单介绍一下Requests的使用。

  首先,您需要安装此库。库的安装方法很简单。在 Windows 系统上,以管理员身份运行 cmd 并执行 pip install 请求。

  

  安装好之后就可以测试了。

  

  爬虫的框架如下:

  import requests  # 导入requests库<br />def Get_Url_text(URL):  # 定义获取相应链接文本的函数    try:# 这里是异常处理机制        r = requests.get(url, timeout=30)        # 访问这个链接,并返回一个名为r的对象        r.raise_for_status()        # 返回访问的状态,若为200,即为访问成功        r.encoding = r.apparent_encoding        # 将网页的编码和头文件的编码改为一致    except:        return "产生异常"<br />if __name__ = "main":    url = "https://www.Baidu.com"    print(Get_Url_text(url))

  

  四个Requests库的一些常用方法

  requests库的七种常用方法

  

  这里有两个对象,一个是访问的url,一个是返回的响应对象,也就是前面代码中的r对象,其中也有返回对象的一些属性。如下表所示。

  

  微信推文爬取图片示例

  简单说一下这里使用的python自带的urllib中的request。但是整体的爬取思路是一样的。还用到了其他一些库,大家可以自行理解。代码和解释如下所示。

  import urllib.requestimport re  # 正则表达式库import osimport urllib<br /><br /># 根据给定的网址来获取网页详细信息,得到的html就是网页的源代码def getHtml(url):    page = urllib.request.urlopen(url)    html = page.read()    return html.decode('UTF-8')<br /><br />def getImg(html):    reg = r'data-ratio="0.75" data-s="300,640" data-src="(.+?)" data-type="jpeg"'    # 括号里面就是我们要取得的图片网址    imgre = re.compile(reg)    imglist = imgre.findall(html)      # 表示在整个网页中过滤出所有图片的地址,放在imglist中    x = 0    path = 'D:\\python_project\\GRASP_pic_from_wechat\\pic'    # 将图片保存到D:\\test文件夹中,如果没有test文件夹则创建    if not os.path.isdir(path):        os.makedirs(path)    paths = path + '\\'  # 保存在test路径下<br />    for imgurl in imglist:        urllib.request.urlretrieve(imgurl, '{0}{1}.jpg'.format(paths, x))          # 打开imglist中保存的图片网址,并下载图片保存在本地,format格式化字符串        x = x + 1    return imglist<br /><br />html = getHtml("https://mp.weixin.qq.com/s/z8phHxzrjeU6HCDdtQdoeQ")  # 获取该网址网页详细信息,得到的html就是网页的源代码print(getImg(html))  # 从网页源代码中分析并下载保存图片

0 个评论

要回复文章请先登录注册


官方客服QQ群

微信人工客服

QQ人工客服


线