找程序员男朋友的坏处?程序员的女朋友都是怎么样的
程序员最大的能耐属于敲代码的!个人比较熟悉python,比如python爬虫开发、自动化 。这次掌勺利用Python自动化爬取指定城市天气、疫情和糗事搞笑段子数据信息保存到txt文件,然后发送给女朋友,提醒她,做好准备·!
先看看这个天气预报怎么搞?
文章插图
这个很简单嘛!首先就是来个简单的小爬虫!用requests来获取天气网页信息嘛几行代码的事
r = requests.get(url, timeout=30) r.raise_for_status() r.encoding = r.apparent_encoding return r.text
然后拿到网页信息后,先找到想要的数据标签,通过BeautifulSoup处理和提取我们想要的数据嘛 。
final_list = [] soup = BeautifulSoup(html, 'html.parser') body = soup.body data = https://www.08ts.cn/body.find('div', {'id': '7d'}) ul = data.find('ul') lis = ul.find_all('li')
定位一下找到我们想要数据的标签用BeautifulSoup提取出来,然后提取出来保存一下就可以了撒
temp_list = [city]
date = day.find('h1').string
temp_list.append(date)
info = day.find_all('p')
temp_list.append(info[0].string)
if info[1].find('span') is None:
temperature_highest = ' '
else:
temperature_highest = info[1].find('span').string
temperature_highest = temperature_highest.replace('℃', ' ')
#当然这里我就不写这么多了,掌勺相信你们能补充好,有问题你可以私信掌勺
保存就不用说了!直接open
- f=open(filename,"wt") for line in data: f.write(str(line)+'\n'
现在这个爬虫程序不就写好了嘛,信息保存好了,就差发送了嘛
with open(filename,'r') as f: lines = f.readlines() first = lines[0] sec = lines[1].rstrip("\n") headers = {"Content-Type": "text/plain"} data = https://www.08ts.cn/{"msgtype": "text", "text": { "content": first+sec, } } r = requests.post( url='填写自己企业微信机器人的webhook',headers=headers, json=data)
这个程序不就写完了嘛!其实难度也不大,当然难度大不大没关系,主要是关心女朋友嘛
现在再来看看疫情的咋样,其实就是和上面的天气预报原理一样,第一个会了,第二肯定就会!闲话少说,咱先看看
文章插图
打开这个https://view.inews.qq.com/g2/getOnsInfo?name=disease_h5网址一看,看见眼睛都麻了,全是json数据
文章插图
json数据也挺容易的,直接用json库嘛,然后在来个requests库来获取这个网页
先用requests库来获取这个网页信息
url = 'https://view.inews.qq.com/g2/getOnsInfo?name=disease_h5' headers = { '填写自己的UA请求头' } r = requests.get(url, headers) res = json.loads(r.text) data_res = json.loads(res['data'])
数据拿到了,来处理一下数据
list = ['截至时间:' + str(data['lastUpdateTime']) + '\n'
当然这里代码没有写完!掌勺相信你能补充好的!当然还是那句话有任何问题私信掌勺
好了,数据搞到了,保存一下,直接open
with open('疫情查询.txt', 'a+', encoding="utf-8") as f: f.write(result + '\n')
保存好的这个数据有点乱,我就来实现一下搜索功能吧!也挺简单
data = https://www.08ts.cn/Down_data()['areaTree'][0]['children'] path = str(input('请输入你要查询的省份:')) for i in data: if path in i['name']: for item in i['children']: list_city = [ '地区: ' + str(item['name']) + ' ' ' 确诊人数:' + str(item['total']['confirm']), ' 新增确诊:' + str(item['today']['confirm']), ' 治愈:' + str(item['total']['heal']), # ' 新增治愈:' + str(item['today']['heal']), ' 死亡:' + str(item['total']['dead']) + '\n', # ' 新增死亡:' + str(item['today']['dead']) + '\n' ] res_city = ''.join(list_city)
信息处理好了,发送还是和上面一样的,掌勺就不多说了
在看看搞笑段子吧
文章插图
这个也是一样的,也不多说什么,直接上代码吧
req = request.Request(url=url, headers=headers) respond = request.urlopen(req) html = respond.read().decode('utf-8') return html except error.URLError as e: if hasattr(e, 'code'): print(e.code) if hasattr(e, 'reason'): print(e.reason)
baseurl = 'https://www.qiushibaike.com/text/page/' for i in range(10): url = baseurl + str(i+1) html = askurl(url) soup = BeautifulSoup(html, 'html.parser') for item in soup.find_all('div', {'class':'article block untagged mb15 typs_hot'}): item = str(item) name = FindName.findall(item)[0] name = name.replace('\n', '') content = FindContent.findall(item)[0] content = content.replace('\n\n\n', '') content = content.replace('<br/>', '\n') datalist.append([name, content])
推荐阅读
- 顺丰|寄丢20克黄金 保价8千只赔2千!顺丰:赔钱了 黄金也已找到
- 女孩|《二十不惑2》大结局:4个女孩都找到了心爱的男朋友,成双成对,事业也有了方向
- 求职|疫情期间,找工作很难?这几个新兴职业让你“脱颖而出”!
- 知乎|单项100万元现金!知乎启动灯塔计划:寻找10个硬核创作项目
- 三四十岁的大龄程序员,到底该怎么做才能避免失业?
- 李易峰|李易峰进去了,此时此刻有6位女明星最想找地缝钻进去。
- 计划生育|极具性价比的医学类专业盘点,吃香又好找工作,市场前景不容小觑!
- 护士|男生学“护理专业”后,能闭着眼轻松找工作?终究还是想的太多了
- |情深深:陆振华其他7房妻妾的结局如何?难怪不来找他,心酸!
- 男团|为啥男明星都喜欢嫖娼?按道理说他们有颜有钱,找女朋友易如反掌,不应该啊!