公众号一周年——写给2018年3月仍在坚持的自己

公众号终于一年了,给自己鼓个掌。    自从心血来潮,想起来把学习笔记整理公布出来,当时给自己定了一个觉得挺难的目标---100篇,还真是达成了。学习python也算是爱好的一种驱动,就觉得这么神奇的软件,能爬虫,大众普及,不试试他的威力,岂不可惜,在R学了一段时间之后,果断转到python上来,...

2018-04-06 00:00:00

阅读数:19

评论数:0

看完这几篇笔记,你也会用Python爬虫了

学习python爬虫需要的知识图谱:页面相关的知识:1、HTML知识概况2、CSS知识概况3、JavaScript知识概况爬虫的各种知识框架:4、爬虫知识1:了解爬虫知识体系、安装Scrapy等模块5、爬虫知识2:Scrapy框架介绍,建立第一个蜘蛛6、爬虫知识3:seletors选择器、Xpat...

2018-04-06 00:00:00

阅读数:16

评论数:0

爬虫知识9:scrapy框架自定义类及扩展

scrapy框架中每一步都是可以通过自定义类或者扩展来完成你要实现的特定的功能。一般自定义的类和扩展都是有一些特定的方法的。完成自定义类和扩展有两个步骤:1)在spiders同级创建任意目录,根据特定的方法,自定义类,后者在middleware.py中直接之定义。2)在setting中启用自定义的...

2018-04-05 00:00:00

阅读数:53

评论数:0

爬虫知识8:数据存储的需求实现,Item、Pipeline介绍

scrapy提取的信息可以保存在文件(csv、txt、json)中,或者数据库中。而scrapy中的Pipeline则是专门用来保存数据的模块。    以下以爬取豆瓣TOP250电影为例,分别介绍4种不同的数据保存和展示方式。且在案例3和案例4分别介绍了item和pipelines的知识案例1:不...

2018-04-05 00:00:00

阅读数:88

评论数:0

Python爬虫案例1:手把手教你爬取豆瓣TOP250电影各种信息

从建立爬虫,到运行成功,一步步跟着来即可。本文有两个案例;案例1:从建立爬虫项目开始,一步步教你如何获取电影名称和网址案例2:更高级一点,爬取电影名称、导演、演员、评分、上映时间、时长、别名等,且存储到文件。案例1:获取豆瓣top250的电影名称和网址1、新建爬虫项目:步骤1-1:开始---输入c...

2018-04-05 00:00:00

阅读数:101

评论数:0

Python爬虫案例3:爬取房天下房价等各种信息

爬取房天下网站,爬取的内容:区域、小区名、总价、房型、面积、单价、朝向、楼层位置、装修情况、建筑时间、是否有电梯、产权类型、住宅类型、发布日期信息保存:保存在csv中数据结果:1、先建立爬虫项目1)进入目标目录:cd 目标目录2)建立项目:scrapy startproject 爬虫项目名称3)进...

2018-04-05 00:00:00

阅读数:192

评论数:1

Python爬虫案例2:获取抽屉网页所有的新闻标题并保存到csv

1、先建立爬虫项目1)进入目标目录:cd 目标目录2)建立项目:scrapy startproject 爬虫项目名称3)进入爬虫项目目录,cd 爬虫项目所在的文件夹4)建立爬虫:scrapy genspider 爬虫名称 网址具体可参考豆瓣的爬虫博文。2、编写爬虫程序有五个注意和修改的地方:1)编...

2018-04-05 00:00:00

阅读数:74

评论数:0

Python爬虫案例4:爬取上海各区学校以及其对口学区房信息

哪个区的市重点最多,哪个区的学区房最贵?终于自己爬虫搞定这些信息了。爬取的信息字段:region_name:学校所在区域school_name:学校名称school_type:学校类型(小学or中学等)school_level:学校等级(区重点、市重点、普通等)school_advantage:学...

2018-04-05 00:00:00

阅读数:125

评论数:0

爬虫知识6:自动登录与cookies的应用

普通请求使用scrapy.Request类就可以实现,但是遇到模拟表单或Ajax提交post请求的时候,Request类就不如子类FormRequest类方便了,因为他自带formdata 专门用来设置表单字段数据,默认method也是POST。4个github自动登录案例:案例2:模拟表单数据f...

2018-03-30 00:00:00

阅读数:17

评论数:0

爬虫知识2:Scrapy框架介绍,建立第一个蜘蛛

1、Scrapy介绍:    Scrapy是一个为了爬取网站数据,提取结构性数据而编写的应用框架。主要用来帮助你下载网页、解析网页、自定义一些模块。我们只需专注于提取数据就好了;    Scrapy 使用了Twisted异步网络库来处理网络通讯,可以加快我们的下载速度,而不用自己去实现异步框架。 ...

2018-03-30 00:00:00

阅读数:14

评论数:0

爬虫知识5:常见反爬虫机制——User-Agent和代理IP设置

常见反爬机制:1、拒绝非浏览器的访问:可以检查请求头header中的User-agent、referer、cookies:User-agent用来表示请求者的信息,可以搜集User-agent并保存,爬取过程中动态更换在User-agent,伪装成浏览器的形式referer可以使用浏览器分析提取r...

2018-03-30 00:00:00

阅读数:26

评论数:0

爬虫知识7:scrapy的settings配置文件中各参数解释以及如何自定义类

建立完爬虫项目之后,都会有如下的结构:其中,settings.py文件是存放配置文件用的,初始化的settings文件,只有以下四个变量是默认定义好的,其他都是注释掉的。现在从上往下,看下每个变量的含义。1)BOT_NAME:爬虫项目的名字,每个爬虫去爬取网站时,都会在user-agent带着这个...

2018-03-30 00:00:00

阅读数:25

评论数:0

爬虫知识4:Requests模块介绍

爬虫需要掌握的一些知识图谱:    如果不使用爬虫框架scrapy,也利用一些爬虫模块也可以自定义爬虫的过程,比如 Python标准库中提供的urllib、urllib2、httplib,但是这些模块已经有些过时了,而Requests是使用Apache2 Licensed许可证的,其在Python...

2018-03-30 00:00:00

阅读数:15

评论数:0

爬虫知识1:了解爬虫知识体系、安装Scrapy等模块

1、爬虫的知识介绍及相关概念    网络爬虫(又被称为网页蜘蛛,网络机器人,在FOAF社区中间,更经常的称为网页追逐者),是一种按照一定的规则,自动地抓取万维网信息的程序或者脚本。另外一些不常使用的名字还有蚂蚁、自动索引、模拟程序或者蠕虫。通过爬虫爬取数据后,你就可以做一些数据分析、展示等工作。1...

2018-03-30 00:00:00

阅读数:29

评论数:0

爬虫知识3:seletors选择器、Xpath、 BeautifulSoup使用案例

本文主要介绍了Scrapy常用的数据提取的方法,包括seletors、scrapy shell、xpath、css、BeautifulSoup的使用方法及案例。只要掌握xpath或者css任意一种即可。1、seletors选择器1)介绍        Scrapy提取数据有自己的一套机制。它们被称...

2018-03-30 00:00:00

阅读数:21

评论数:0

Python的Socket知识6:线程、线程锁、线程池、上下文管理

1、进程、线程     进程(process)是cpu资源分配的最小单位,线程(thread)是cpu调度的最小单位。多线程和多进程的应用目的是为了提高并发。一个应用程序可以包含多个进程,而一个进程又可以包含多个线程。默认一个应用程序是单进程、单线程。1)什么是进程(process)    进程:...

2018-02-19 00:00:00

阅读数:155

评论数:1

Python的Socket知识7:队列、生产者消费者模型

1、队列      队列是一种数据结构,队列queue 多应用在多线程应用中,多线程访问共享变量。对于多线程而言,访问共享变量时,队列queue是线程安全的。从queue队列的具体实现中,可以看出queue使用了1个线程互斥锁(pthread.Lock()),以及3个条件标量(pthread.co...

2018-02-19 00:00:00

阅读数:72

评论数:0

Python的Socket知识5:IO多路复用

IO 多路复用是5种I/O模型中的一种。1、同步vs异步,阻塞vs非阻塞同步vs异步:同步:相互牵制,两者之间有一定的约束   异步:两者之间无关,互不牵制阻塞vs非阻塞阻塞:发出一个请求,如果条件不满足,会一直等待直到条件满足非阻塞:发出一个请求,如果条件不满足,则直接返回一个标志信息,而不会一...

2018-02-19 00:00:00

阅读数:185

评论数:1

Python的Socket知识8:进程、数据共享、进程池

进程(process)是cpu资源分配的最小单位,线程(thread)是cpu调度的最小单位。多线程和多进程的应用目的是为了提高并发。一个应用程序可以包含多个进程,而一个进程又可以包含多个线程。默认一个应用程序是单进程、单线程。    主要讲解创建进程的方法,以及实现共享的方式。1、基本使用方法:...

2018-02-19 00:00:00

阅读数:80

评论数:0

Python的Socket知识2:粘包处理

案例1:简单模拟ssh交互程序1)ssh介绍    SSH是一种网络协议,用于计算机之间的加密登录。如果一个用户从本地计算机,使用SSH协议登录另一台远程计算机,我们就可以认为,这种登录是安全的,即使被中途截获,密码也不会泄露。    传统的网络服务程序,如:ftp、pop和telnet在本质上都...

2018-02-18 00:00:00

阅读数:53

评论数:0

提示
确定要删除当前文章?
取消 删除
关闭
关闭