你是如何开始写python爬虫的?

因为研究生阶段主要的方向是数据挖掘方向,需要从网上获取大量的数据,如果一页一页的手动复制的化,不知道到何年何月了,所以慢慢开始接触到python爬虫,我大概介绍一下自己的学习历程吧:1.首先要有一定的python基础,环境要熟悉,基本的语法和包也要会使用,至于python基础教程,网上很多,有视频也有pdf的,这个因人而异,我入门主要学习的是《python基础教程》这本书,对应的是python2,这本书写的比较全面,介绍的也比较详细,只要认认真真的跟着书学习,一边练习代码,很快就能熟悉python基础,掌握基本知识和常见包的使用。

2.对网页基本知识也要有一定了解,像html,css,javascript等,没必要精通它们,但是最起码得了解一二,要爬的数据都在网页中,你对网页一点都不了解,这根本就不行,至于这些入门的东西,你可以在网上搜搜,我推荐http://www.w3school.com.cn/,介绍的很全面:3.然后就是一些爬虫基本包的使用,像urllib,urllib2,requests,bs4等,这些教程,网上都有,官方也有详细的文档说明,你可以试着爬取一些比较简单的网页,像糗百等。

4.在爬取有些网页的过程中,你会发现莫名的程序就中断,连接不上服务器,这就是反爬机制,许多网站都对爬虫做了限制,短时间内多次爬取,就会禁掉IP,所以你得设置IP代理池,来回切换IP,保证程序正常进行,在这过程中你得需要了解常见反爬机制,对症下药,做到尽可能不被服务器发现。5.熟悉爬取基本网页后,就可以试着爬取比较大型网站的数据了,像某宝数据等,在这过程中你可能会发现有些数据不在网页中,这就是异步加载,你就需要抓包分析数据,获取真实的数据URL,才能进行爬取。

6.基本爬虫包了解后,你会发现每次爬数据都需要自己构建代码,组织结构,很麻烦,这时你就需要学习scrapy框架,专门为爬虫做的一个框架,做起爬虫来,速度快了不少。7.爬得数据量多了,你会发现一个电脑太慢,一个线程不快,这时你就可能需要多个线程,多个电脑,你就需要了解多线程,分布式爬虫,像scrapy-redis等。

8.数据量大了,你就不可能存储到一个普通文件之中吧,就需要用到数据库,mysql,mongodb等,你就需要了解基本的数据库知识,增删改查,以及数据的涉及和搭建等。9.数据已经有了,你就需要对它进行分析,不然爬下来,放在那,没有任何意义,数据统计处理,数据可视化,如何构建分析模型,挖掘有价值的信息,机器学习等都会用到,接下来就看你的处理了。

如何使用Python Pandas模块读取各类型文件?

这个非常简单,pandas内置了大量函数和类型,可以快速处理日常各种文件,下面我以txt,excel,csv,json和mysql这5种类型文件为例,简单介绍一下pandas是如何快速读取这些文件的:txt文件这是最常见的一种文本文件格式,读取的话,直接使用read_table函数就行,测试代码如下,这里必须保证txt文件是格式化的,不然读取的结果会有误,filename是文件名,header是否包含列标题,sep是每行数据的分隔符,最终读取的数据类型是DataFrame,方便后面程序进行处理:excel文件这也是一种比较常见的文件格式,读取的话,直接使用read_excel函数就行,测试代码如下,非常简单,直接传入文件名就行,最终返回结果也是DataFrame类型:csv文件这也是一种比较常见的文件格式,读取的话,直接使用read_csv函数就行,测试代码如下,也非常简单,filename为文件名,header为是否包含列标题,最终返回结果也是DataFrame类型:json文件这也是一种比较常用的数据存储格式,读取的话,直接使用read_json函数就行,测试代码如下,filename为文件名,如果出现中文乱码的话,设置encoding编码为uft-8就行,最终结果也是DataFrame类型:mysql这里首先需要安装sqlalchemy框架,之后才能借助read_sql_query函数直接从mysql数据库读取数据,安装的话,直接输入命令“pip install sqlalchemy”就行,测试代码如下,也非常简单,先创建一个connect连接,然后根据sql查询语句,直接从数据库中读取数据就行:至此,我们就完成了利用python的pandas模块来读取txt,excel,csv,json和mysql这5种类型文件的数据。