推广 热搜: csgo  vue  angelababy  2023  gps  新车  htc  落地  app  p2p 

5分钟撸了个小小爬虫....

   2023-08-04 网络整理佚名2450
核心提示:可以看下核心代码的相关注释。则是查看定时任务列表内容的,可以看到有多少任务配置了。如果有多个定时脚本,则可以回车换行继续添加即可。每日自动抓取,导入图片,换背景即可。分钟撸一个小爬虫系列!本篇介绍的定时工具,其实用途很大,因为基于系统层面,所以不依赖于脚本,只要你电脑开着,就可以随心所欲的触发你写的脚本,而不依赖你脚本本身使用代码的定时任务!

打开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获取。 当然,您也可以点击以下地址:

 
反对 0举报 0 收藏 0 打赏 0评论 0
 
更多>同类资讯
推荐图文
推荐资讯
点击排行
网站首页  |  关于我们  |  联系方式  |  使用协议  |  版权隐私  |  网站地图  |  排名推广  |  广告服务  |  积分换礼  |  网站留言  |  RSS订阅  |  违规举报
Powered By DESTOON