打开F12,找到对应的请求,很容易就能看到有这样一个链接,然后点击它,会打开一个新的页面,此时会显示背景图片。
如何下载? 其实很简单,我们来说说逻辑。
该库请求主页,将地址与规则模式进行匹配,然后使用请求将返回的结果以二进制形式写入文件并保存为图片。
核心代码:
url = 'https://cn.bing.com'
headers = {
'User-Agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_1) '
'AppleWebKit/605.1.15 (KHTML, like Gecko) Version/13.0.3 Safari/605.1.15'
}
r = requests.get(url=url, headers=headers)
# 正则匹配到 url 地址
a = re.findall(r'rel="preload" href="(.*?)" as="image"', r.text)
if a:
# 拼接 https://cn.bing.com/xxxxxx图片的地址
picture_url = parse.urljoin(url, a[0])
print(f'当前图片地址:{picture_url}')
r_picture = requests.get(url=picture_url, headers=headers)
write_file(file, r_picture.content) # 写入文件
执行后结果:
主要是正则表达式,怎么写,匹配它们,以及使用方法来拼接图像地址。 可以查看核心代码的相关注释。
定时任务
总共25行代码,关键是如何利用系统定时来制作每日触发效果。
系统:
如果您是环境人员,我建议您阅读此博客。 之前我总结了如何定时执行文件。
Mac/Linux系统:
了解Linux系统的同学一定知道有一个内置的系统工具叫.
有两种使用方法。
编辑:
crontab -e
按回车后,输入内容,用法和vim一样,按i写入,然后wq保存。
0 10 * * * /Users/sy/anaconda3/bin/python /Users/sy/PycharmProjects/python-tools/spider/bing_picture/crawl_bing.py > /Users/sy/PycharmProjects/python-tools/spider/bing_picture/log
第一段是cron特有的时间配置表达。 大家可以看下图的介绍。 顺便说一句,我会给你一个网站,你可以在线查看该表达的含义。 而我在剧本里写的,是每天十点执行的。
工具网址:
执行时间计算工具.lu
写完cron表达式后,后面其实就是xxx.py这样的命令,但是cron中一定要写绝对路径,否则不生效。
在执行命令的基础上,我还添加了>xxx.log,意思是将脚本打印的内容输出到指定目录下的日志文件中。
2.查看定时任务:
crontab -l
cron -l 是查看计划任务列表的内容,可以看到配置了多少个任务。 如果有多个计时脚本,可以按回车换行继续添加。
自动抓取每一天,导入图片,更换背景。
总结
好了,这就是这个5分钟的小爬虫系列了!
本文介绍的计时工具其实非常有用。 因为它是基于系统级别的,所以不依赖于脚本。 只要你的电脑开机,你就可以随心所欲地触发你写的脚本,而不是依赖你的脚本使用代码的定时任务。 !
想看完整代码的同学可以在公众号后台回复bing获取。 当然,您也可以点击以下地址: