爬取中國(guó)天氣網(wǎng)時(shí),一共34個(gè)省份,但重復(fù)了5次結(jié)果,你們可以運(yùn)行一下看看。
不知道為什么會(huì)出現(xiàn)重復(fù)。
代碼如下:
from bs4 import BeautifulSoup
import requests
import time
# 1.第一步:把網(wǎng)頁(yè)數(shù)據(jù)全部抓下來(lái)(requests)
# 2.第二步:把抓下來(lái)的數(shù)據(jù)進(jìn)行過濾,把需要的數(shù)據(jù)提取出來(lái),把不需要得過濾掉(bs4)
#get/post
def get_temperature(url):
headers = {
'User-Agent':'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/49.0.2623.221 Safari/537.36 SE 2.X MetaSr 1.0',
'Referer':'http://www.weather.com.cn/textFC/hb.shtml',
'Host':'www.weather.com.cn'
}
data=requests.get(url,headers=headers)
#如果我直接打上print(data.content),會(huì)出現(xiàn)編碼錯(cuò)誤,中文顯示英文,
#上面的代碼正常但是運(yùn)行的時(shí)候結(jié)果遇到中文會(huì)以\xe7\x99\xbe\xe5\xba\xa6\xe4\xb8\x80代替,這是一種byte字節(jié)。.
#python 3輸出位串,而不是可讀的字符串,需要對(duì)其進(jìn)行轉(zhuǎn)換
#需要在前面加上一個(gè)轉(zhuǎn)換——html =str(data.content,'utf-8')
h =str(data.content,'utf-8')
#print (h)
user=h
#真正有用的數(shù)據(jù),div class table tr td
soup=BeautifulSoup(user,'lxml')
conMidtab=soup.find_all('div',class_="conMidtab")
conMidtab2_list=soup.find_all('div',class_="conMidtab2")
for x in conMidtab2_list:
tr_list=x.find_all('tr')[2:]#list從0開始,省份是從第2個(gè)標(biāo)簽開始的
province='1'#定義
for index,tr in enumerate(tr_list):
if index==0:
td_list=tr.find_all('td')
province=td_list[0].text.replace('\n','')
city=td_list[1].text.replace('\n','')
weather=td_list[5].text.replace('\n','')
wind=td_list[6].text.replace('\n','')
tmin=td_list[7].text.replace('\n','')
else:
td_list=tr.find_all('td')
city=td_list[0].text.replace('\n','')
weather=td_list[4].text.replace('\n','')
wind=td_list[5].text.replace('\n','')
tmin=td_list[6].text.replace('\n','')
print ('%s %s %s %s %s' % (province,city,weather,wind,tmin))#replace('\n','')用空白代替空行
def main():
urls=['http://www.weather.com.cn/textFC/hb.shtml',
'http://www.weather.com.cn/textFC/db.shtml',
'http://www.weather.com.cn/textFC/hd.shtml',
'http://www.weather.com.cn/textFC/hz.shtml',
'http://www.weather.com.cn/textFC/hn.shtml',
'http://www.weather.com.cn/textFC/xb.shtml',
'http://www.weather.com.cn/textFC/xn.shtml']
for url in urls:
get_temperature(url)
time.sleep(2)
if __name__=='__main__':
main()北大青鳥APTECH成立于1999年。依托北京大學(xué)優(yōu)質(zhì)雄厚的教育資源和背景,秉承“教育改變生活”的發(fā)展理念,致力于培養(yǎng)中國(guó)IT技能型緊缺人才,是大數(shù)據(jù)專業(yè)的國(guó)家
達(dá)內(nèi)教育集團(tuán)成立于2002年,是一家由留學(xué)海歸創(chuàng)辦的高端職業(yè)教育培訓(xùn)機(jī)構(gòu),是中國(guó)一站式人才培養(yǎng)平臺(tái)、一站式人才輸送平臺(tái)。2014年4月3日在美國(guó)成功上市,融資1
北大課工場(chǎng)是北京大學(xué)校辦產(chǎn)業(yè)為響應(yīng)國(guó)家深化產(chǎn)教融合/校企合作的政策,積極推進(jìn)“中國(guó)制造2025”,實(shí)現(xiàn)中華民族偉大復(fù)興的升級(jí)產(chǎn)業(yè)鏈。利用北京大學(xué)優(yōu)質(zhì)教育資源及背
博為峰,中國(guó)職業(yè)人才培訓(xùn)領(lǐng)域的先行者
曾工作于聯(lián)想擔(dān)任系統(tǒng)開發(fā)工程師,曾在博彥科技股份有限公司擔(dān)任項(xiàng)目經(jīng)理從事移動(dòng)互聯(lián)網(wǎng)管理及研發(fā)工作,曾創(chuàng)辦藍(lán)懿科技有限責(zé)任公司從事總經(jīng)理職務(wù)負(fù)責(zé)iOS教學(xué)及管理工作。
浪潮集團(tuán)項(xiàng)目經(jīng)理。精通Java與.NET 技術(shù), 熟練的跨平臺(tái)面向?qū)ο箝_發(fā)經(jīng)驗(yàn),技術(shù)功底深厚。 授課風(fēng)格 授課風(fēng)格清新自然、條理清晰、主次分明、重點(diǎn)難點(diǎn)突出、引人入勝。
精通HTML5和CSS3;Javascript及主流js庫(kù),具有快速界面開發(fā)的能力,對(duì)瀏覽器兼容性、前端性能優(yōu)化等有深入理解。精通網(wǎng)頁(yè)制作和網(wǎng)頁(yè)游戲開發(fā)。
具有10 年的Java 企業(yè)應(yīng)用開發(fā)經(jīng)驗(yàn)。曾經(jīng)歷任德國(guó)Software AG 技術(shù)顧問,美國(guó)Dachieve 系統(tǒng)架構(gòu)師,美國(guó)AngelEngineers Inc. 系統(tǒng)架構(gòu)師。