zoukankan      html  css  js  c++  java
  • 小白从零自学python爬虫之福彩3d实战

      因为学校举办了一个大数据挖掘小比赛,我觉得这是一个入门python爬虫的机会,主动报名参加。在这之前自学不到半个月的python,看的是《python基础教程》这本书,也看了小甲鱼的视频,说实话入门看看他的视频真是不错,实战教程,浅显易懂。半个月大概学习了一些知识点,但不深入,也不牢固(学习了列表,元组,字典,字符串,循环,条件,函数)。就以这些前提下,我开始了我的python爬虫入门,说实话,通过一个实战入门真的是个不错的动力,边学边弄,随着遇见问题解决问题,这样的学习更深入,更牢固。

      在搜索大量文章时,看到一篇文章给了几点建议,觉得不错,最主要的一点就是告诉我们,一个很不错的python爬虫入门方式就是明确一个想要爬去的一个目标,想要获得这个目标的哪些数据。

      我在确定目标时,也大量搜索过python爬虫的一些要涉及到的知识,工具等。

      下面这份思维导图是我所学习的部分:

      

      pandas库和numpy库我还没有学习,现在正在深入了解上面两个部分。python知识部分这些一定要学,虽然我这个例子,有些知识点没用上,但是这些一定要学。随着我学习深入,对这些应用也一定会更娴熟。

      连接部分+解析部分,任意搭配都可以实现python爬虫,处理一些常用网站都没问题,(eg:豆瓣网,糗事百科,猫眼,拉勾网......),我感觉这四个库都一定要学习下。

      最后我确定了一个福彩3d 网站。

      实战部分:(urllib2+正则表达式)

      目标是一个福彩3d的网站,之前就幻想过分析福彩数据,然后买一注,成为百万富翁,现在想想,那时真是异想天开,哈哈哈......

      目标网址:http://kaijiang.zhcw.com/zhcw/html/3d/list_1.html

      工具使用:jupyter /python3.0(我觉得用这个练习爬虫真的很不错,直接打开cmd后输入:pip install jupyter 就ok了~)

      首先我们使用urllib2对该网页进行连接:

      

      这样就轻松将页面爬去下来了,下面该对页面进行解析部分了,只提取有用的部分,我想要的是 开奖日期,开奖期号以及中奖数字。使用网页的审查元素,检查想要的信息在什么标签下,对该网页标签进行正则匹配就好了:

      

      

      我想要的信息都在一个tr的标签下,它的下面还有td标签,只需对需要的部分进行匹配就好了。下面是源码运行:

      

      我标记的部分就是想要获取的信息,但是他们在一个列表里,只需用循环将这些数据遍历出来就好啦,下面是运行结果:

      这样就轻松的将第一页的信息全部爬去下来了,但是问题又来了要是想多页爬去怎么办,仔细观察了网页发现了一个特点,在网址部分每页有特定的部分是连接该网页的,我们只需对这个数字进行循环就行了。

     

      仔细观察不难发现,在list_的后面数字不同,便是打开不同的页数,那么对该数字进行一个for循环就能实现多页爬去了,哈哈哈,修改一下代码。  

      下图是整体的一个源码

      

      

       总结:简单的几行代码就能将想要的数据爬去下来,感觉python太强大了,人生苦短,我用python,这句话说得真对。当然了在现在大数据的时代,爬虫不是最主要的,最主要的是数据分析与应用。这也是我下一阶段要学习的,现在现将爬虫学会,学精!在这立个flag,入门数据分析时,自己在写个博客, yeah~!

  • 相关阅读:
    几种基本样式,背景图,字体,下划线,行高垂直等
    网页主菜单,横向
    DOM操作
    递归的小例题
    学习两个星期后做的第一个网页
    Js的语法和循环
    JS
    75 int类型数组中除了一个数出现一次或两次以外,其他数都出现三次,求这个数。[2行核心代码]
    74 使用BitSet输出数组中的重复元素
    73 [面试题]交换一个整数的二进制表示的奇偶位(swapOddEvenBits)
  • 原文地址:https://www.cnblogs.com/7089fy/p/8047269.html
Copyright © 2011-2022 走看看