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 xlwt

2. 编写代码

2.1使用requests.get获取页面

1662749-20190428101429728-1431656207.png

编译结果

1662749-20190428101536407-1998615786.png

2.2 使用lxml将数据改成xpath结构

1662749-20190428101635423-1957483734.png

2.3 精确获取数据

1662749-20190428101724912-944044498.png

1662749-20190428101800854-454473125.png

2.4 使用for in循环输出数据

1662749-20190428101852976-1263232118.png

注意:print(tr.xpath(".//td/text()"))中 如果没有加.只会循环相同的内容,上图就是没有加点

正确做法

1662749-20190428101921215-2108619171.png

2.5 只获取需要的数据

1662749-20190428101951459-694646219.png

3.使用xlwt创建excel表,存储数据

3.1 创建excel表

1662749-20190428102023319-1665862871.png

运行结果

1662749-20190428102104177-393917759.png

3.2 将数据添加到excel表中

1662749-20190428102143333-1502063848.png

3.3 批量添加数据(让j累加)

1662749-20190428102227978-1665395421.png

3.4 多页数据添加

1662749-20190428102252429-1033629776.png

最终代码

importrequestsfrom lxml importetreeimportxlwt#设置浏览器的请求头,告诉服务器我们是从浏览器来的,作用是阻止被网站反爬

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 inrange(0,len(row0)):

sheet3d.write(0,i,row0[i])

j= 1

for 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')

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值