爬取中国天气网,获取相关信息,并通过相关库,进行在线搜索。
import sys
import requests
from bs4 import BeautifulSoup
from xpinyin import Pinyin
\"\"\"<div class=\"left\">
<dl class=\"weather_info\">
<dt><img src=\"http://content.pic.tianqistatic.com/content/20170918/0f64a9643cd8a42fa5f52fddd4ddc8ee.jpg\" alt=\"成都天气预报\"></dt>
<dd class=\"name\"><h2>成都</h2><i><a href=\"/chinacity.html\">[切换城市]</a></i></dd>
<dd class=\"week\">2018年12月16日 星期日 戊戌年冬月初十 </dd>
<dd class=\"weather\">
<i><img src=\"//static.tianqistatic.com/static/wap2018/ico1/b0.png\" ></i>
<p class=\"now\"><b>5</b><i>℃</i></p>
<span><b>晴</b>4 ~ 14℃</span>
</dd>
<dd class=\"shidu\"><b>湿度:99%</b><b>风向:西南风 2级</b><b>紫外线:强</b></dd>
<dd class=\"kongqi\" >
<h5 style=\"background-color:#ffbb17;\">空气质量:良</h5>
<h6>PM: 100</h6>
<span>日出: 07:54<br />日落: 18:04</span>
</dd>
<dl>
\"\"\"
class Weather:
location = \'chengdu\'
date = \"\"
soup = \"\"
humidity = \"\"
quanity = \"\"
now = \"\"
def __init__(self, place):
pin = Pinyin() # 将汉字转换成拼音
place = pin.get_pinyin(place, \"\")
url = \"http://www.tianqi.com/\" + place
# print(url)
header = {
\'User-Agent\': \'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/71.0.3578.98 Safari/537\'}
r = requests.get(url, header, timeout=60)
self.soup = r.text
# print(self.soup)
self.check()
def check(self):
# 爬取信息并进行分割,格式化
self.soup = BeautifulSoup(self.soup, \"html.parser\")
try:
for div in self.soup.find_all(\'div\', {\'class\': \'left\'}):
self.location = div.find(\'dd\', {\'class\': \'name\'}).text[:-6]
print(self.location)
self.date = div.find(\'dd\', {\'class\': \'week\'}).text
print(self.date)
self.humidity = div.find(\'dd\', {\'class\': \'shidu\'}).text
print(self.humidity[:-14])
print(self.humidity[6:15])
print(self.humidity[15:20])
self.now = div.find(\'dd\', {\'class\': \'weather\'}).text
self.now.replace(\"\\r\", \"\")
print(self.now[2:5])
print(self.now[6:7])
print(self.now[7:14])
self.quanity=div.find(\'dd\', {\'class\': \'kongqi\'}).text
print(self.quanity[0:6])
print(self.quanity[6:12])
print(self.quanity[12:])
except:
print(\"\")
if __name__ == \'__main__\':
# 这里是java,jython和python连用 可以直接声明对象即可!
# a = []
# for i in range(1, len(sys.argv)):
# a.append(sys.argv[i])
# Weather(a[0])
weather(\"成都\")
继续阅读与本文标签相同的文章
下一篇 :
【转载】如何搭建靠谱的支付通道?
-
揭秘军运村里的吃、住、行和黑科技!
2026-05-19栏目: 教程
-
75万核心150万线程,UKRI计划新增EPYC Rome超级计算机
2026-05-19栏目: 教程
-
Java B2B2C多用户商城 springcloud架构(二)
2026-05-19栏目: 教程
-
特斯拉为自动雨刮创造了一个新的神经网络“Deep Rain”
2026-05-19栏目: 教程
-
银联:强力提升国际影响力
2026-05-19栏目: 教程
