【python爬虫】Python爬取+PR绘制你出生那日的星图

起因

老妈最近因为某些事情去档案处查了自己的资料,发现真实出生时间和身份证上的不一样。刚好最近临近她的生日,想自己做一些礼物送给她,就在网上查了一下她出生日的星图,准备做一个她出生那天的星图变化的小视频送给她。

实践

在网上找了星图的网站,发现这个网站 https://www.heavens-above.com/能查到每日的星图,估计是根据时间计算了轨道之类的,天文方面我一窍不通。下面是实现步骤。

  1. 星图
    heavensabove这个网站有实时交互星图。但是具体到过去的某一日的星图我选择的是它的skychart,也就是“天文”目录下的“星图”。星图的几个选项就是年月日,左上角有可以更新地点的选项。
  2. python爬虫
    (1)视频准备用长度为100s的生日歌,为了不出现卡顿,所以至少得有1000张星图的照片。生成星图后复制图片地址到新标签页,右键可以保存,png格式,url里面出现ashx。去百度搜了一下ashx,是一般处理程序。html、ashx和web界面(aspx) [1] 这篇文章基本上解决了我的问题。
    (2)使用python的request库进行爬虫,会发现返回的text是乱码,后来乱研究了一通才发现返回的text里有一个"\PNG"的头,验证了一下数据是爬对了。
    (3)requests里面的url解释一下:size是大小;ecl和cb是黄道和星座分界是否打开,默认是打开的,这里调为0,个人审美;time指时间,是一个较大的数字,增加1就是增加了1天,需要哪天的星图就用网页更新,打开图片地址看看url获得时间上下限就可以了;lat、lng、alt分别是观测点的纬度、经度、高度,默认北纬东经为正,南纬西经为负。
import requests
r = requests.get('https://www.heavens-above.com/wholeskychart.ashx?lat=40&lng=115&alt=100&tz=ChST&size=800&SL=1&SN=1&BW=0&ecl=0&cb=0&time='+str(num))
  1. 处理获得的图片
    (1)用python内置的opencv库cv2处理图片,参考自文章Python 使用字节流读取图片并转换成图片格式显示[2]。网上查到opencv默认的读取是BGR,所以代码里有一句RGB2BGR。
    ( 2)在图片上加上时间,使用cv2的putText[3]函数,写入硬盘即可。参数查阅opencv document
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
Python爬虫是一种通过编写Python程序来自动化获取互联网上的数据的技术。爬虫可以用于从网上抓取各种数据,包括文字、图片、视频等。而网课数据爬取是指使用爬虫技术从网上抓取各种网课相关的数据,比如课程名称、课程价格、课程评分等。 爬取网课数据的过程通常分为以下几个步骤: 1. 确定要爬取的目标网站和数据,比如某个网上教育平台的课程页面。 2. 使用Python爬虫库,比如Requests库或Scrapy框架,发送HTTP请求获取网页内容。 3. 使用解析库,比如BeautifulSoup库或XPath,解析网页内容,提取所需的数据。 4. 对数据进行清洗和处理,比如去除HTML标签、缺失值处理等。 5. 将清洗过的数据保存到本地文件或数据库中,以备后续分析和可视化使用。 在获取到网课数据后,可以使用可视化工具,比如Matplotlib库或Plotly库,来进行数据的可视化展示。通过可视化,可以更直观地理解和分析数据,并将数据以图表的形式展示出来,比如柱状图、折线图、饼图等。这些图表可以帮助人们更好地理解网课的分布、趋势和关联性,为决策提供参考。 总而言之,Python爬虫技术可以用于网课数据的爬取,而数据的可视化则可以通过使用Python的可视化库来实现。这种方式可以帮助我们更好地利用网上的网课资源,并通过数据分析和可视化来获得更多的洞见和价值。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值