作者:迈微电子研发社 Tony ZHANG
转载请注明
各位亲爱的迈微社友们, 大家晚上好! 益达发现了一个来自「宇宙的生日礼物」想要分享给你!
极致浪漫: 你生日那天的宇宙是什么样子的? 今天全网搜索这个词条#你生日那天的宇宙#引发了我的注意,我们一起来看看吧!
哦也许观赏了其他人的星辰,就会酸了。
也可能你一周的烦恼也变成了宇宙中的一粒微不足道的尘埃。
Between Worlds Roger Subirana - X I I 点击链接即可播放
是不是超级绚丽, 真是太香了!
其实, 这是 NASA 为庆祝哈勃望远镜 30 周年发布的活动——哈勃太空望远镜 (Hubble Space Telescope,缩写为HST) 在 1990 年被送上太空,每天 24 小时不间断地探索拍摄美美的宇宙,来领取你的生日礼物吧!
获取365天的照片
进入 NASA 官网 http://t.cn/A6ZZM3R3 ,只要输入你的生日,就能获得「生日同天款」迷人的宇宙奇观。
(花一点点耐心哦,网站不是那么快,有可能要多试几次,你一定不会后悔, 不需要梯子)
如果你想快速获得照片,那就直接去跳读到下面福利部分。
1. 代码实现
查看网页元素(F12查看网页源码)
解析过滤(xpath)网页元素,构造url,寻找分页规律,是最后的参数步长为18
开始下载。代码优化的地方很多,比如多线程,代理池,更规范的封装,小伙伴们可以去尝试。注意,代码中的url需要稍微改改哟。
import requests
import re
import csv
import codecs #图片保存时图片名称中文保存方法
from lxml import etree
x = 0
def get_text(i):
# 按照 0 18 36
url = 'https://XX/photos/a1bum/1872547715/?m start-'+str(i)# XX 是豆瓣网
headers = {
' USER-AGENT' :'MoziUa/5.o (Windows NT 10.0; WOW64) ApplewebKit/537.36 (KHTML, like Gecko)Chrome/[email protected] Safari/537.36'
}
response = requests.get(url = url, headers = headers)
html = response.text
return html
def get_picture(html):
localPath = 'C:/Users/Admtntstrator/Desktop/lj/'
html = etree.HTML(html)
picture = html.xpath( '//div[@class = "photo_wrap"]/a/tmg/@src ' #图片的url
image_name = html.xpath('//div[@class = "photo_wrap"]/div/text()') #图片名称
image_name = [x.strip() for x in image_name if x .strip() != '']
return picture, image_name
def download_picture(i,picture, image_name):
#print(image_name) #列表
localPath = 'C:/Users/Admtntstrator/Desktop/lj/'
global x
for url, image_name in zip( picture, image_name):
headers = {
'USER-AGENT': 'Moztlla/5.@(Windows NT 10.0; WOW64) AppleWebKit/537.36(KHTML, like Gecko) Chrome/67.0.3396.99 Safari/537.36'
}
response = requests.get(url = url, headers = headers)
with codecs.open(localPath + '%s.jpg' %(image_name), 'wb') as f:
f.write(response.content)
print( '正在下载第%d张' %(i+x+1))
x = x + 1
if __name__=='__main__':
for i in range(0, 361, 18):
html = get_text(i)
picture, image_name = get_picture(html)
download_picture(0, picture, image_name)
2. 部分结果展示(5月和10月)
3. 福利派送(后台回复"星空"就行)
我已经分类好12个月的宇宙礼物。去公众号:迈微电子研发社回复 “星空” 领取吧,看看宇宙小哥给了你什么美照!
每张宇宙星空图都是惊喜宝藏!有梦幻的、震撼的,也有像平底锅(不好意思)、 disco 球的……宇宙给你的礼物宇宙会是啥?网友们已经互相炫耀较劲PK一整天了,还拿了新历和农历对比……
就比如我生日那天的宇宙是这样的。
激动的心, 颤抖的手, 我们一起来交友! 来(迈微社群, 点击即可留言) 分享你收到的「宇宙生日礼物」吧,说不定能找到「头顶同一片星辰」的伙伴。
我与宇宙的关系,那么远又那么近。
一起摘下宇宙的同片星辰,守护我们的诞生。
ⓝ
MaiweiE-com | WeChat ID: Yida_Zhang2
推荐阅读(点击标题可跳转阅读)