爬虫
Roc Huang
代码连接世界,Python创造未来!
展开
-
Handler处理器 和 Opener 及Cookie
Handler处理器 和 自定义Openeropener是 urllib2.OpenerDirector 的实例,我们之前一直都在使用的urlopen,它是一个特殊的opener(也就是模块帮我们构建好的)。但是基本的urlopen()方法不支持代理、cookie等其他的HTTP/HTTPS高级功能。所以要支持这些功能:1、使用相关的Handler处理器来创建特定功能的处理器对象;2、然后通过urllib2.build_opener()方法使用这些处理器对象,创建自定义opener对象;3、使用原创 2020-09-24 22:29:18 · 189 阅读 · 0 评论 -
爬虫入门--Request介绍
Request 介绍安装方式利用 pip 安装 或者利用 easy_install 都可以完成安装:pip install requests或 easy_install requestsRequests使用GET请求和POST请求最基本的GET请求最基本的GET请求可以直接用get方法response = requests.get("http://www.baidu.com/")也可以这么写# response = requests.request("get", "http://原创 2020-09-23 22:26:21 · 570 阅读 · 0 评论 -
Python中的并发---多线程和协程
多线程在介绍Python中的线程之前,先明确一个问题,Python中的多线程是假的多线程!因为全局解释器锁(GIL)为什么要GIL为了线程间数据的一致性和状态同步的完整性GIL的影响只有一个线程在运行,无法使用多核。在多线程环境中,Python虚拟机按照以下方式执行。 1.设置GIL。 2.切换到一个线程去执行。 3.运行。 4.把线程设置为睡眠状态。 5.解锁GIL。 6.再次重复以上步骤。# 使用线程from threading import Threaddef l原创 2020-09-22 22:15:03 · 375 阅读 · 0 评论 -
python中的多进程
多进程import multiprocessingimport timedef func(arg): pname = multiprocessing.current_process().name pid = multiprocessing.current_process().pid print("当前进程ID=%d,name=%s" % (pid, pname)) for i in range(5): print(arg) time.原创 2020-09-21 22:53:04 · 68 阅读 · 0 评论 -
Scrapy-redis 爬虫分布式集群部署
Scrapy-Redis分布式集群Scrapy和Scrapy-Redis的区别Scrapy 是一个通用的爬虫框架,但是不支持分布式,Scrapy-Redis 是为了更方便地实现Scrapy分布式爬取,而提供了一些以redis为基础的组件(仅有组件)安装Scrapy-Redispip install scrapy-redisScrapy-Redis介绍提供了下面四种组件(components):(四种组件意味着这四个模块都要做相应的修改)SchedulerDuplication Fil原创 2020-09-19 22:31:15 · 873 阅读 · 1 评论 -
Scrapy绕过反爬虫策略
绕过反爬虫策略1. 动态设置User-Agent# 方法1:# 修改setting.py中的User-AgentUSER_AGENT = 'Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/66.0.3359.181 Safari/537.36'# 方法2: # 修改setting中的DEFAULT_REQUEST_HEADERSDEFAULT_REQUEST_HEA原创 2020-09-18 22:48:25 · 397 阅读 · 0 评论 -
Scrapy基础
Scrapy 框架介绍Scrapy是用纯Python实现一个为了爬取网站数据、提取结构性数据而编写的应用框架,用途非常广泛。Scrapy框架:用户只需要定制开发几个模块就可以轻松的实现一个爬虫,用来抓取网页内容以及各种图片,非常之方便。Scrapy 使用了Twisted(其主要对手是Tornado)多线程异步网络框架来处理网络通讯,可以加快我们的下载速度,不用自己去实现异步框架,并且包含了各种中间件接口,可以灵活的完成各种需求。Scrapy架构图Scrapy主要包括了以下组件: Scrapy原创 2020-09-17 22:53:02 · 173 阅读 · 0 评论 -
bs4或者是BeautifulSoup 安装超时问题解决办法
bs4或者是BeautifulSoup 安装超时问题解决办法需要将pip 源设置为国内源,比如阿里源,豆瓣源,网易源等介绍一下不同系统下的配置文件1.Windows下1.打开文件资源管理器2.地址栏输入%appdata%3.在这里面创建一个文件夹 pip4. 在文件夹中新建文件 pip.ini, 写如下代码[global]timeout = 6000index-url = ...原创 2019-03-12 23:11:13 · 984 阅读 · 0 评论 -
改造pytesseract 包,实现简单的验证码识别
改造pytesseract 包,实现简单的验证码识别原生的tesseract 对于识别验证码来说,正确率太低,我们可以对原生的tesseract进行简单的改造,以提高识别率.使用tesseract 需要先下载安装tesseract软件,百度上可以找到资源, 下载完成后需要测试一下看是否有安装环境变量,然后再cmd中输入tesseract,出现如下结果为安装成功重点来啦,改造原码如下imp...原创 2019-03-15 18:15:55 · 198 阅读 · 0 评论 -
Pytesseract 在cmd可以运行,在pycharm中运行出错的解决办法
Pytesseract 在cmd可以运行,在pycharm中运行出错的解决办法pycharm中运行报错,是因为pycharm中会将’\t’转义解决这一办法只需要将Lib\site_packages\pytesseract.py 文件中的tesseract_cmd 更改一下就可以了tesseract_cmd = 'D:/tesseract/Tesseract-OCR/tesseract.exe...原创 2019-03-15 16:41:12 · 974 阅读 · 0 评论 -
selenium 自动化测试嵌套网页需转化 ifframe
selenium 嵌套网页转化在自动化测试或者是爬取嵌套网页时,需要先对嵌套网页进行转化处理,借助selenium库自带的函数就能轻松实现嵌套网页:嵌套网页就是指类似<html> <html> </html></html>转化的代码实现:from selenium import webdriverchomedriver = w...原创 2019-03-09 16:39:04 · 220 阅读 · 0 评论 -
[爬虫]保存cookie到本地及使用cookie实现登录
保存cookie到本地及使用cookie实现登录第一步,保存cookie到本地from urllib import requestfrom http import cookiejar#命名文件名称cookie_jar = cookiejar.LWPCookieJar(filename='baidu.txt')#创建handlercook_handler = request.HTTPC...原创 2019-03-05 17:54:49 · 1395 阅读 · 2 评论