QzmVc1

Standing on Shoulders of Giants.

0%

参考链接:http://lib.csdn.net/article/python/62942

前言

在学习Python的过程中,我相信有很多人和我一样,对Python的装饰器一直觉得很困惑,我也是困惑了好久,并通过思考和查阅才能略有领悟,我希望以下的内容会对你有帮助,我也努力通过通俗的方式使得对Python装饰器的理解更加的透彻。在文中如有遗漏和不足,欢迎交流和指点。

很多人对装饰器难以理解,原因是由于以下三点内容没有搞清楚: + 关于函数“变量”(或“变量”函数)的理解 + 关于高阶函数的理解 + 关于嵌套函数的理解 那么如果能对以上的问题一一攻破,同时遵循装饰器的基本原则,相信会对装饰器有个很好的理解的。那么我们先来看以下装饰器的目的及其原则。

阅读全文 »

前言

这几天,南邮正方开放了教学质量评价的接口,苦于一个一个选择很麻烦,花了点时间写了个脚本进行自动填写。主要利用了Python的selenium库模拟浏览器进行自动填写。

转载请注明出处

阅读全文 »

前言

偶然间看到了利用Python绘制词云图,一时兴起,睡意全无,导致现在已经深夜两点多了一个人默默坐在宿舍的客厅里敲着代码。现在的天气是真的冷啊,可有什么办法呢,我就是这么热爱学习! 哈哈哈哈hahahah。 虽然本篇博客把它归到了Scrapy里面,但是其大部分内容还是和绘图有关的(其实也没多少)。我们仅仅利用Scrapy爬取网上的相关数据做成一份单词表就够了,话不多说,直接正题叭~

阅读全文 »

前言

  初来乍到的crawler,刚开始的时候觉得所有的网站无非就是分析HTML、json数据,但是忽略了很多的一个问题,有很多的网站为了反爬虫,除了需要高可用代理IP地址池外,还需要登录。例如知乎、豆瓣等等。很多信息都是需要登录以后才能爬取,但是频繁登录后就会出现验证码(有些网站直接就让你输入验证码),这就坑了,毕竟运维同学很辛苦,该反的还得反,那我们怎么办呢?这不说验证码的事儿,你可以自己手动输入验证,或者直接用云打码平台,这里我们介绍一个利用Scrapy进行模拟登录的用法。

本片博客是对豆瓣进行模拟登陆,包括验证码的简单处理,不涉及爬取信息。

阅读全文 »

引言

相信大家学了这么长时间的爬虫后都想干点什么。这章的主要任务是抓取网页上的图片并把它们下载到本地,听起来不太容易实现,但其实这很简单!

注:本章爬取的网页是我的博客: http://qzmvc1.top/

阅读全文 »

一、前言

这章作为我最感兴趣的一章,当然要好好大写特写一番了!

因为本人对Mysql比较熟悉,Python也有Pymysql这个库可以和Mysql进行交互,所以这章主要就是介绍将数据存储到Mysql数据库的Pipeline。之前也听说过Scrapy和Mongodb数据库结合起来也很方便,有空的话以后学了再补上叭~

注:以下的演示都是基于本机上的操作,一些库名,表名,项目名什么的各位看官自己写就好啦! ****** ### 二、准备工作 我们首先需要创建或安装一些东西: + Mysql localhost新建数据库pysqltest,在该数据库下创建表单名为blog

  • 安装pymysql用于连接Mysql服务器

如果对Mysql不熟悉或者需要补一下Pymysql操作的可以参考我的以下博客: 1. Mysql之增删改查

  1. Pymysql实现与数据库的交互 ******
    阅读全文 »

一、Item Pipeline简介

Item Pipeline的主要责任是负责处理爬虫从网页中抽取的Item,它的主要任务是清晰、验证和存储数据。 当页面被爬虫解析后,将被发送到Item管道,并经过几个特定的次序处理数据。 每个初始Item管道的组件都是由一个简单的方法组成的Python类。 如下所示:

1
2
3
class DemoPipeline(object):
def process_item(self, item, spider):
return item
但是我们没有具体定义,因此执行爬虫并不会输出结果。 他们获取了Item并执行他们的方法,同时他们还需要确定的是是否需要在Item管道中继续执行下一步或是直接丢弃掉不处理。 ****** ### 二、Item管道的通常执行过程 + 清理HTML数据   + 验证解析到的数据(检查Item是否包含必要的字段)   + 检查是否是重复数据(如果重复就删除)   + 将解析到的数据存储到数据库中   ******
阅读全文 »

引言

大多数情况下,每个源网站只会有一个爬虫;不过在某些情况下,你想要抓取的数据来自多个网站,此时唯一变化的东西就是所使用的XPath表达式。对于此类情况,如果为每个网站都设置一个爬虫则显得有些小题大做。那么可以只使用一个爬虫来爬取所有这些网站吗?答案是肯定的。 ******

阅读全文 »