当先锋百科网

首页 1 2 3 4 5 6 7

今天给大家分享一个小网站的数据采集,并写到excel里面!

爬虫,自动领取福利卷,剁手党的额福利!

分析网站

目标网站是“小咪购”,这里有天猫所有的含有购物券的商品信息,我们今天就来抓它吧!

爬虫,自动领取福利卷,剁手党的额福利!

 

随便找一段文字,然后点击右键查看网页源代码,看看是否存在该文字,如果存在,那么这个网页就是静态网站了!很幸运,这个网站居然是静态的。

爬虫,自动领取福利卷,剁手党的额福利!

 

那就简单了,不需要去分析ajax加载数据或者找json包了,直接获取网页源代码==>>匹配相关内容==>>保存数据即可!

爬虫,自动领取福利卷,剁手党的额福利!

 

工具和库

Windows+python3.6

import random

import time

import requests

from lxml import etree

import xlwt

用这几个库就可以搞定了!注意xlwt和xlrd这2个库都是操作excel的,一个是保存数据,一个是读取数据,不要搞混了。

爬虫,自动领取福利卷,剁手党的额福利!

 

开始写代码

首先写一个函数,将所有的爬虫工作写到函数里,如下图

爬虫,自动领取福利卷,剁手党的额福利!

 

这个网站需要写上headers,不写是抓不到数据的!新建一个列表,将爬到的相关数据写入列表,它的形式大概是这样的:【【产品信息A1,2,3……】,【产品信息B1,2,3……】……】,这么写列表是因为我们最后要将他们写如excel表格,那么列表中的每一个元素(还是列表形式)都是一行数据,方便写入!

注意第33行,列表构成的时候,用+连接会将所有列表中的元素放入一个列表,比如:【1,2,3】+【4,5】=【1,2,3,4,5】,而用append()函数则会将后面的内容作为一个元素加入列表中,比如:[1,2,3].append([4,5])=[1,2,3,[4,5]]

下来就是写入excel了,首先是新建excel表格,并写入第一行数据

爬虫,自动领取福利卷,剁手党的额福利!

 

后面的数据,依次按格式写入并最后用wb.save(路径)的方式保存即可!完整代码及效果如下

爬虫,自动领取福利卷,剁手党的额福利!

 

爬虫,自动领取福利卷,剁手党的额福利!

 

由于网站更新的很快(官方说是10分钟。。。),所以也没有抓取那么多,所有的页面有大约600多页,一页100条信息,也就是说一共有6万多条商品信息,如果不用多线程的话会很慢!

爬虫,自动领取福利卷,剁手党的额福利!

 

代码在上传的过程中会有压缩,如果实在看不清楚的话,大家可以留言我获取源码!