python简单应用!用爬虫来采集天猫所有优惠券信息,写入本地文件

今天给大家分享一个小网站的数据采集,并写到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万多条商品信息,如果不用多线程的话会很慢!

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

原文发布于微信公众号 - 云飞学python(P542110741)

原文发表时间:2018-07-23

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏Albert陈凯

2018-09-07 wakatime Intellij IDEA 免费记录Code时间分配的插件jetbrains-wakatimeFor more general troubleshooting

插件源码地址Source Code: 有动画 https://github.com/wakatime/jetbrains-wakatime

1992
来自专栏更流畅、简洁的软件开发方式

【自然框架】QuickPager分页控件的总体介绍和在线演示

QuickPager分页控件的特点  两种运行方式:自动运行、手动运行。前者便捷,后者灵活。  多种分页方式:Postback、Postback伪URL、URL...

2478
来自专栏前端那些事

起步 - vue-router路由与页面间导航

我们知道路由定义了一系列访问的地址规则,路由引擎根据这些规则匹配找到对应的处理页面,然后将请求转发给页进行处理。可以说所有的后端开发都是这样做的,而前端路由是不...

1180
来自专栏为数不多的Android技巧

简化markdown写作中的贴图流程

这么复杂的流程,让人简直没有了插入图片的欲望;但是大量的文字没有图片,必然让人疲惫;

1385
来自专栏前端说吧

html2canvas - 解决办法之图片跨域导致的截图空白

2563
来自专栏iOSDevLog

Running Python in Xcode: Step by Step第1步:安装Python 3.5第2步:找到python3第3步:创建一个Xcode项目步骤4.创建Python文件步骤5.编

在我准备一个涉及Python编程的项目时,我需要至少掌握基本级别的Python掌握。但是,我不是交互式Python REPL的忠实粉丝:

3692
来自专栏用户2442861的专栏

linux之ldconfig工具的使用

ldconfig是一个动态链接库管理命令 为了让动态链接库为系统所共享,还需运行动态链接库的管理命令--ldconfig ldconfig  命令的用途...

761
来自专栏机器学习和数学

[编程经验] Python中使用selenium进行动态爬虫

Hello,大家好!停更了这么久,中间发生了很多事情,我的心情也发生了很大的变化,看着每天在增长的粉丝,实在不想就这么放弃了,所以以后我会尽量保持在一周一篇的进...

1722
来自专栏韩东吉的Unity杂货铺

零基础入门 37:加强版日志窗口

又是俩星期不见,大家好,刚刚忙完,所以现在深夜更新,今天的主题描述我用语音和大家来介绍。

1111
来自专栏葡萄城控件技术团队

带你走近AngularJS - 基本功能介绍

带你走近AngularJS系列: 带你走近AngularJS - 基本功能介绍 带你走近AngularJS - 体验指令实例 带你走近AngularJS - 创...

20910

扫码关注云+社区

领取腾讯云代金券