在程工一邊開心的團(tuán)建的時(shí)候,趕緊趕他布置的作業(yè):
這個(gè)作業(yè)已經(jīng)有好幾個(gè)同學(xué)完成了耕拷,所以我其實(shí)就是拿來抄的...
import requests
from lxml import etree
import random
import json
import csv
Headers = {
'User-Agent':'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/57.0.2987.133 Safari/537.36',
'Referer':'http://www.weather.com.cn/weather40d/101091101.shtml',
}
天氣網(wǎng)也有反爬种樱,所以請(qǐng)求頭這里要有Referer,“因?yàn)檫@是瀏覽器發(fā)出請(qǐng)求時(shí)腕巡,會(huì)通過Referer告訴服務(wù)器我是從哪個(gè)頁(yè)面鏈接過來的玄坦,有些網(wǎng)站會(huì)對(duì)這個(gè)做驗(yàn)證,主要時(shí)為了防止別人盜鏈的問題绘沉。不是的話就會(huì)403禁止訪問服務(wù)器煎楣。”——引自chaosmind
url= 'http://d1.weather.com.cn/calendar_new/2017/101091101_201706.html'
html= requests.get(url,headers=Headers).content
infos=json.loads(html[11:])
然后就是找包车伞,天氣網(wǎng)也是json包加載的择懂。不過切片是第一次遇到,如果不是大家提醒另玖,這個(gè)[11:]估計(jì)也要坑上一會(huì)兒困曙。
不過人品始終是守恒的,headers=Headers()居然被我昏了頭加個(gè)括號(hào)谦去,報(bào)錯(cuò)“dict”is not
callable慷丽,對(duì)著別人的功課都檢查不出來,折騰了快半小時(shí)...
import os
os.chdir('E:')
csvFile = open("weather.csv",'w+')
try:
writer = csv.writer(csvFile)
writer.writerow(['date','max','min','\n'])
for item in infos:
date=item['date']
max=item['max']
min=item['min']
writer.writerow([date,max,min])
finally:
csvFile.close()
寫入csv文件以前有練過哪轿,沒有什么問題盈魁,收工。
天氣網(wǎng)的只有40天包窃诉,遲點(diǎn)加個(gè)循環(huán)杨耙,多爬幾個(gè)月,做個(gè)數(shù)據(jù)分析飘痛。再供大家參考珊膜。