3.2网络数据获取

本文介绍使用Requests库抓取网页的基本方法,包括处理二进制文件、应对反爬措施如User-Agent检测,以及获取被JS渲染的页面内容。通过实例展示了如何保存图片、设置User-Agent绕过反爬限制,以及分析JS渲染页面的技巧。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

用Requests库的get()函数抓取一个你平时经常使用的网站主页,并查看该网站的爬虫协议(如果有的话)。默认答案是正确,你成功了吗?(●’◡’●)
抓取网站情况多样,有时还会很复杂,这需要长期的积累,不能一蹴而就,列举几种情况:
a.假设获取的是二进制文件,则可以借鉴如下方法保存数据:

import requests
 
r = requests.get('https://www.baidu.com/img/bd_logo1.png')
with open('baidu.png', 'wb') as fp:
   fp.write(r.content)

b. 为了反爬,有些网站会对Headers的User-Agent进行检测,需将headers信息传递给get函数的headers参数,例如知乎,直接访问会返回400,加上headers参数后可正确返回:

import requests
re = requests.get('https://www.zhihu.com')
print(re.status_code)
# headers可从http测试网站https://httpbin.org或浏览器的“开发者工具”获得
headers = {"User-Agent": "Mozilla/5.0 (X11; Linux i686) AppleWebKit/535.11 (KHTML, like Gecko) Chrome/17.0.963.83 Safari/535.11"}
re = requests.get('https://www.zhihu.com', headers = headers)
print(re.status_code)

反爬的策略还有很多,需要逐渐熟悉,有些网站要想获得数据还需要登录,需要分析登录需要的属性。
c. 被JS渲染过的页面内容获取
可以通过浏览器的“开发者工具”功能寻找真正提供数据的页面,有时会有一定的难度。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值