必应主页的图片及介绍
必应每日的图片非常漂亮,所以想 get 下来,可是官方提供的下载有必应水印,所以只能自己找地址下载了。另外将每日美图的介绍也一并爬下来保存到 txt 中吧。
- 必应美图
在必应主页上,分析网络情况,可以发现图片的链接
图片的链接.png
查看响应
至此我们可以开始写爬虫了,主要就是 requests 请求这个网址,然后使用 json 解析。可以在 GitHub 上查看代码,并没有写异常处理。
如果是在 Linux 平台上,想直接将必应美图设置为壁纸,可以查看 这个主页 传送门
GitHub 的这个项目请点这
可以学习学习源码。
- 美图的介绍
打开 firefox 的审查元素功能,找到介绍对应的标签
介绍标签
有人或许就开始解析了,我曾经也是这么干的,但是你get
到页面源代码时会发现根本找不到这段内容,为什么呢?后来在知乎上找到了答案。
只有在首页点击那个详细讯息(就那个感叹号)的按钮时,才会出现详细讯息,这里采用了异步加载技术,就是通过js
代码来实现向服务器请求数据。这个有兴趣可以详细了解。
但是这里又有问题了,在火狐和谷歌浏览器中,请求是不太一样的。
Firefox
Chrome
但是通过查看其提交数据发现基本是一样的,只有一个参数不同,估计是因为浏览器的原因,所以我也很好奇为什么这里。
Firefox
Chrome
所以找到了我们就可以开始动手来实现我们的目的了。通过分析其 url 参数,我们可以构造其基本 url 是http://cn.bing.com/cnhp/life
, 然后提交有关数据。
以 FireFox 为例,IG
参数可以在页面代码中找到。
import requests
req = requests.get('http://cn.bing.com/')
ig = req.text.split('IG:"')[1].split('"')[0]
# print ig
data = {
'ensearch': '0', 'IID': 'SERP.5044', 'IG': ig
}
z = requests.get('http://cn.bing.com/cnhp/life', data)
# 将返回的数据保存起来,方便查找数据
# with open("biying.html", "wb") as f:
# f.write(zeq.text)
html = bs(z.text, "lxml")
info = html.find("div", id="hplaSnippet")
print info.string.strip()
这样就可以 get
到介绍了,美滋滋。。。
这个提交数据有可能随着时间改变,只要构造对应数据就好了。