Advertisement

python 抓取网页数据

阅读量:

python 抓取网页数据

本文探讨了从不同网页获取数据的方法及其相关注意事项,并着重强调了requests库 的使用。

在操作开始之前必须告知用户不可随意采集网络数据不可随意采集网络数据。需要注意的是存在包含个人隐私信息或其他敏感内容的网页这些信息受到法律保护未经允许进行采集这种行为违反相关法律法规

❤️爬虫协议说明

不过一般来说大多数网页都是公开可抓取的信息哦 需要注意网站上的爬虫规则 查看抓取方法其实很简单 比如在目标网站后方添加 /robots.txt 文件 如果导航至另一个页面上面会有标识指出哪些区域无法被抓取 然后请务必避免访问任何敏感内容即可


❤️requests库的一般用法

复制代码
    #导入request库
    import requests
    
    #得到目标网页的response
    r = requests.get('目标网页的url')
    
    #确认是否成功获取response,若返回“200”则说明正常获取
    r.status_code
    
    #显示抓取的文本内容
    r.txt

阐述一些关于网页响应的相关问题:它是基于TCP协议著名的三次握手机制建立起来的。

通常用户的客户端设备会向服务器传输信息包 这相当于建立联系的第一步

当服务器接收到来自客户端的数据包时,在处理完成后会返回给客户端一个响应消息(也可以是其他形式的数据包)。当服务器发送确认信息时,在确认过程中会完成第二次握手。

你的客户端接收到服务器发送来的“hi”信息之后,请再发送一次数据包表示回应,“行行行, 我听的见~”是客户端第三次握手完成后的反馈

所有的联网都是基于看似简单的三步handshake之上完成的。上文中提到的网站返回的数据, 实际上就是后续沟通中的一次互动。

requests库一般是用于中小型数据 的。大型数据用scrapy库


👍反爬虫网页的爬取

例如某些网站中有一种常见的做法是:为了阻止网站通过模拟用户浏览(即所谓的'用户代理')来访问内容。

实际操作如下:

访问目标网站的路径`/robots.txt$并获取该网站的robots.txt文件规定,并判断所要获取的信息是否被允许抓取

访问浏览器地址栏时打开about:version页面,在此页面上会显示用户代理信息。特别提示:这些数据反映了你的客户端设备特征。考试中常涉及此知识点,请务必掌握。

你的爬虫程序旨在伪装成一个客户端,并被设计为误导目标网页以便进行交流;否则就会被拦截(例如status_code非200时)。

设置header,伪装成客户端。

复制代码
    header = {'User_Agent':'刚刚划重点的内容'}

这里 header 其实是一个字典,在 Python 程序中会被用来传递给它,并赋予它一个伪装面具的身份。换句话说,header 相当于一个用于蒙蔽程序的面具。

为了模拟身份并附加虚假信息到目标网页中,请使用requests.get()方法访问该网页,并在请求头中设置相应的参数。其中参数header即为第四条所述的内容。

这样就可以顺利跟目标网页进行“握手”啦!

全部评论 (0)

还没有任何评论哟~