python爬虫
RichRichJay
我所理解的生活,是和自己喜欢的一切在一起。我只相信通过努力实现的一切。我相信一万小时定律,我从不相信天上掉馅饼和坐等的成就
展开
-
十五、学习分布式爬虫之下载器中间件
下载器中间件的介绍方法随机更换请求头中间件代码爬虫代码设置随机代理IP代码实现原创 2020-02-25 14:10:41 · 241 阅读 · 0 评论 -
十四、学习分布式爬虫之Scrapy
Scrapy框架学习目标理解scrapy框架。学会spider爬虫的编写。学会Crawlspider爬虫编写。学会中间件的编写。学会pipeline保存数据。学会将Scrapy结合selenium一起使用。学会在Scrapy中使用IP代理。Scrapy框架的介绍安装scrapyscrapy框架架构创建scrapy项目创建项目:scrapy startproj...原创 2020-02-22 21:42:59 · 348 阅读 · 0 评论 -
十三、学习分布式爬虫之字体反爬
字体反爬字体反爬原理网页开发者自己创造一种字体,因为在字体中每个文字都有其代号,那么以后在网页中不会直接显示这个文字的最终的效果,而是显示他的代号,因此即使获取到了网页中的文本内容,也只是获取到文字的代号,而不是文字本身。因为创造字体费时费力,并且如果把中国3000多常用汉字都实现,那么这个字体将达到几十兆,也会影响网页的加载。一般情况下为了反爬虫,仅会针对0-9以及少数汉字进行单独创建,...原创 2020-02-20 15:56:51 · 6481 阅读 · 0 评论 -
十二、学习分布式爬虫之验证码识别
验证码识别学习使用云打码识别图形验证码。学会把验证码识别技术应用到爬虫中。使用云打码平台from yundama import YDMHttpydm = YDMHttp(username='wuyuli',password='qingyao520yuli')uid = ydm.login()if not uid: print("登录失败")balance = ydm...原创 2020-02-20 10:36:36 · 154 阅读 · 0 评论 -
十一、学习分布式爬虫之selenium
selenium实战12306购票from selenium import webdriverfrom selenium.webdriver.support.ui import WebDriverWaitfrom selenium.webdriver.support import expected_conditions as ECfrom selenium.webdriver.common...原创 2020-02-19 15:11:50 · 458 阅读 · 0 评论 -
十、学习分布式爬虫之多线程
多线程的GIL锁python自带的解释器是CPython,CPython解释器的多线程实际上是一个假的多线程(在多核CPU中,只能利用一核,不能利用多核)。同一个时刻只有一个线程在执行,为了保证同一时刻只有一个线程在执行,在CPython解释器中有一个东西叫做GIL(Global Intepreter Lock)全局解释器锁。这个解释器锁是有必要的,因为CPython解释器的内存管理不是线程安全...原创 2020-02-18 16:44:49 · 218 阅读 · 0 评论 -
九、学习分布式爬虫之多线程
实例:多线程实现爬取王者荣耀高清壁纸import requestsfrom urllib import parsefrom urllib import requestimport osimport threadingfrom queue import Queueheaders = { 'user-agent': 'Mozilla/5.0 (Windows NT 10.0; ...原创 2020-02-16 10:20:29 · 170 阅读 · 0 评论 -
八、学习分布式爬虫之多线程
多线程爬虫理解多线程掌握threading模块的使用掌握生产者消费者模式理解GIL能用多线程写爬虫什么是多线程理解:默认情况下,一个程序只有一个进程和一个线程,代码是依次线性执行的,而多线程则可以并发执行,一次性多个人做多件事,自然比单线程更快。threading模块threading模块是python中专门提供用来做多线程编程的模块。threading模块中最常用的类是Th...原创 2020-02-13 22:03:41 · 278 阅读 · 0 评论 -
七、学习分布式爬虫之数据存储
数据存储JSON文件格式处理:网络交互CSV文件格式处理:数据分析Excel文件处理:数据分析和运营MySQL数据库处理:数据分析和网站JSON文件格式处理JSON字符串介绍JSON(JavaScript Object Notation,JS对象标记)是一种轻量级的数据交换格式。它基于ECMAScript(w3c制定的js规范)的一个子集,采用完全独立于编程语言的文本格式来存储...原创 2020-02-13 14:14:39 · 341 阅读 · 0 评论 -
六、学习分布式爬虫之正则表达式
正则表达式和re模块什么是正则表达式:通俗的理解,就是按照一定的规则,从某个字符串中匹配出想要的数据。这个规则就是正则表达式。正则表达式语法import re# 匹配某个字符串# text = 'abc'# ret = re.match('a',text) #从最开始的位置匹配第一个符合规则的字符或字符串# print(ret) #<re.Match objec...原创 2020-02-12 15:07:56 · 251 阅读 · 0 评论 -
五、分布式爬虫学习之BeautSoup4
BeautifulSoup4库和lxml一样,BeautifulSoup也是一个HTML/XML的解析器,主要功能也是如何解析和提取HTML/XML数据。区别:lxml只会局部遍历,而BeautifulSoup是基于HTML DOM(Document Object Model)的,会载入整个文档,解析DOM树,因此时间和内存开销都会大很多,所以性能要低于lxml。BeautifulSoup4...原创 2020-02-11 21:24:52 · 486 阅读 · 0 评论 -
四、学习分布式爬虫之Xpath
数据解析:Xpath语法和lxml库BeautifulSoup4库正则表达式和re模块1.Xpath语法和lxml库什么是Xpathxpath(XML Path HTML)是一门在XML和HTML文档中查找信息的语言,可用来在XML和HTML文档中对元素和属性进行遍历xpath语法:选取多个路径:通过在路径表达式中使用“|”运算符,可以选取若干个路径。示例如下:/...原创 2020-02-10 22:37:17 · 436 阅读 · 0 评论 -
三、学习分布式爬虫之requests库
requests库基本使用(第三方库)虽然python的标准库中的urllib模块已经包含了平常我们使用的大多数功能,但是它的API使用起来让人感觉不太好,而Requests宣传“HTTP for Humans”,说明使用更简便。Requests使用python语言编写,基于urllib,但是它比urllib更加方便,可以节约我们大量的工作,完全满足HTTP测试需求。安装:pip insta...原创 2020-02-10 14:19:40 · 717 阅读 · 0 评论 -
二、学习分布式爬虫之urllib库
urllib库(python自带)urllib库是python中一个基本的网络请求库,可以模拟浏览器行为,向指定的服务器发送请求,并可以保存服务器返回的数据。python3的urllib库中所有和网络请求相关的方法,都被集到urllib.request模块中urlopen函数创建一个表示远程url的类文件对象,然后像本地文件一样操作这个类文件对象来获取远程数据。(浏览器打开网址)url...原创 2020-02-09 22:02:11 · 277 阅读 · 0 评论 -
一、学习分布式python网络爬虫第一天
爬虫基础知识1.什么是爬虫爬虫是一个模拟人类请求网站行为的程序,可以自动请求网页,并把数据爬取下来,然后用一定的规则提取有价值的数据。2.爬虫的应用场景a. 搜索引擎(百度等)b. 数据分析c. 抢票软件等3.为什么要用python写爬虫python语法优美、代码简洁、开发效率高、支持的模块多,相关的HTTP请求模块和HTML解析模块非常丰富,还有scrapy和scrapy_red...原创 2020-02-08 15:42:55 · 204 阅读 · 0 评论