python爬虫采集网站数据
生活随笔
收集整理的這篇文章主要介紹了
python爬虫采集网站数据
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
1.準備工作:
1.1安裝requests: cmd >> pip install requests 1.2 安裝lxml: cmd >> ?pip install lxml 1.3安裝wheel: cmd >> ?pip install wheel 1.4 安裝xlwt: cmd >> pip install xlwt2. 編寫代碼
2.1使用requests.get獲取頁面
?
編譯結果
?
2.2 使用lxml將數據改成xpath結構
?
2.3 精確獲取數據
?
?
2.4 使用for in循環輸出數據
注意:print(tr.xpath(".//td/text()"))中 如果沒有加.只會循環相同的內容,上圖就是沒有加點
正確做法
?
2.5 只獲取需要的數據
?
?
3.使用xlwt創建excel表,存儲數據
3.1 創建excel表
?
運行結果
?
?
3.2 將數據添加到excel表中
?
3.3 批量添加數據(讓j累加)
?
3.4 多頁數據添加
?
最終代碼
import requestsfrom lxml import etreeimport xlwt#設置瀏覽器的請求頭,告訴服務器我們是從瀏覽器來的,作用是阻止被網站反爬 headers = {'User-Agent': 'Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/73.0.3683.103 Safari/537.36','Accept-Encoding': 'gzip, deflate','Accept': 'text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3','Connection': 'keep-alive'}#創建一個工作簿 f = xlwt.Workbook()#添加一個工作表 sheet3d = f.add_sheet("3d", cell_overwrite_ok=True)#往表里添加表頭 row0 = ['開獎日期','期號','中獎號碼1','中獎號碼2','中獎號碼3','銷售額(元)','返獎比例']for i in range(0,len(row0)):sheet3d.write(0,i,row0[i])j = 1for i in range(1, 21):url = "http://kaijiang.zhcw.com/zhcw/html/3d/list_{}.html".format(i)#發送請求 得到數據 response = requests.get(url=url,headers=headers)#print(response.text)#將數據改成xpath結構 res_xpath = etree.HTML(response.text)trs = res_xpath.xpath('/html/body/table//tr')# print(trs)# 寫入循環for tr in trs[2:-1]:sheet3d.write(j,0,tr.xpath("./td[1]/text()")[0])sheet3d.write(j,1,tr.xpath("./td[2]/text()")[0])sheet3d.write(j,2,tr.xpath("./td[3]/em[1]/text()")[0])sheet3d.write(j,3,tr.xpath("./td[3]/em[2]/text()")[0])sheet3d.write(j,4,tr.xpath("./td[3]/em[3]/text()")[0])sheet3d.write(j,5,tr.xpath("./td[4]/text()")[0])sheet3d.write(j,6,tr.xpath("./td[5]/text()")[0])j += 1;f.save('3D.xls')?
轉載于:https://www.cnblogs.com/kinblog/p/10782452.html
總結
以上是生活随笔為你收集整理的python爬虫采集网站数据的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 2018-2019-2 20189215
- 下一篇: python链家网高并发异步爬虫and异