c爬虫抓取网页数据(假设获取的是二进制文件,则可以借鉴如下方法保存数据)
优采云 发布时间: 2021-11-24 18:09c爬虫抓取网页数据(假设获取的是二进制文件,则可以借鉴如下方法保存数据)
一种。假设获取的二进制文件是二进制文件,可以使用以下方法保存数据:
import requests
r = requests.get('https://www.baidu.com/img/bd_logo1.png')
with open('baidu.png', 'wb') as fp:
fp.write(r.content)
湾 为了反爬,一些网站会检测到Headers的User-Agent,需要把headers信息传递给get函数的headers参数。比如知乎,直接访问会返回400,加上 headers 参数可以正确返回:
>>> re = requests.get('https://www.zhihu.com')
>>> re.status_code
400
# 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)
>>> re.status_code
200
防爬的策略有很多,需要慢慢熟悉。有的网站想要获取数据也需要登录,需要分析登录需要的属性。
C。获取JS渲染的页面内容
有时很难通过浏览器的“开发者工具”功能找到实际提供数据的页面。