爬虫资料理论
文章平均质量分 74
爬虫资料理论,介绍各个方法与工具的原理
小蜗笔记
热爱建模和计算机,互联网垃圾制造者
展开
-
chromedriver对应版本下载
如何找到和自己谷歌浏览器对应的驱动版本????1.查询比如我的版本号是74.0.3729.169,只复制74.0.3729就行了,然后把复制下来的数字加到如例如我的“https://chromedriver.storage.googleapis.com/LATEST_RELEASE_74.0.3729”。访问后得到的就是对应的谷歌驱动号下载链接:...原创 2022-07-01 10:21:54 · 310 阅读 · 0 评论 -
关于selenium:headless,IP代理,header设置
phantomjs设置ip方法1service_args = [ '--proxy=%s' % ip_html, # 代理 IP:prot (eg:192.168.0.28:808) '--proxy-type=http’, # 代理类型:http/https ‘--load-images=no’, # 关闭图片加载(可选) '--disk-cache=yes’, # 开启缓存(可选)原创 2020-11-18 08:39:27 · 8467 阅读 · 0 评论 -
爬虫设置header和代理IP(4)
1. 伪装自己有些网站不会同意程序直接用上面的方式进行访问,如果识别有问题,那么站点根本不会响应,所以为了完全模拟浏览器的工作1.1 设置请求头其中User-Agent代表用的哪个请求的浏览器代码如下:from urllib.request import urlopenfrom urllib.request import Requesturl = 'http://www.server.com/login'user_agent = 'Mozilla/4.0 (compatible; MSI原创 2020-07-09 11:26:21 · 1973 阅读 · 0 评论 -
爬虫--模拟request登录(27)
1. Scrapy-Request和Response(请求和响应)Scrapy的Request和Response对象用于爬网网站。通常,Request对象在爬虫程序中生成并传递到系统,直到它们到达下载程序,后者执行请求并返回一个Response对象,该对象返回到发出请求的爬虫程序。sequenceDiagram爬虫->>Request: 创建Request->>Response:获取下载数据Response->>爬虫:数据2. Request对象clas原创 2020-08-10 15:51:33 · 385 阅读 · 0 评论 -
爬虫--Spider 下载中间件(Middleware)(26)
1. Spider 下载中间件(Middleware)Spider 中间件(Middleware) 下载器中间件是介入到 Scrapy 的 spider 处理机制的钩子框架,您可以添加代码来处理发送给 Spiders 的 response 及 spider 产生的 item 和 request2. 激活一个下载DOWNLOADER_MIDDLEWARES要激活一个下载器中间件组件,将其添加到 DOWNLOADER_MIDDLEWARES设置中,该设置是一个字典,其键是中间件类路径,它们的值是中间件命令原创 2020-08-10 15:51:20 · 516 阅读 · 0 评论 -
爬虫--使用图片管道(25)
1. 介绍Scrapy提供了一个 item pipeline ,来下载属于某个特定项目的图片,比如,当你抓取产品时,也想把它们的图片下载到本地。这条管道,被称作图片管道,在 ImagesPipeline 类中实现,提供了一个方便并具有额外特性的方法,来下载并本地存储图片:将所有下载的图片转换成通用的格式(JPG)和模式(RGB)避免重新下载最近已经下载过的图片缩略图生成检测图像的宽/高,确保它们满足最小限制这个管道也会为那些当前安排好要下载的图片保留一个内部队列,并将那些到达的包含相同图片原创 2020-08-10 15:51:08 · 215 阅读 · 0 评论 -
爬虫--CrawlSpiders(24)
1. CrawlSpiders原理图sequenceDiagramstart_urls ->>调度器: 初始化url调度器->>下载器: request下载器->>rules: responserules->>数据提取: responserules->>调度器: 新的url通过下面的命令可以快速创建 CrawlSpider模板 的代码scrapy genspider -t crawl 文件名 (allowed_url)首先在原创 2020-08-10 15:50:50 · 225 阅读 · 0 评论 -
爬虫--爬取小说(23)
爬取小说spiderimport scrapyfrom xiaoshuo.items import XiaoshuoItemclass XiaoshuoSpiderSpider(scrapy.Spider): name = 'xiaoshuo_spider' allowed_domains = ['zy200.com'] url = 'http://www.zy200.com/5/5943/' start_urls = [url + '11667352.html'原创 2020-08-10 15:50:41 · 120 阅读 · 0 评论 -
爬虫--Scrapy内置设置(22)
Scrapy内置设置下面给出scrapy提供的常用内置设置列表,你可以在settings.py文件里面修改这些设置,以应用或者禁用这些设置项BOT_NAME默认: ‘scrapybot’Scrapy项目实现的bot的名字。用来构造默认 User-Agent,同时也用来log。当你使用 startproject 命令创建项目时其也被自动赋值。CONCURRENT_ITEMS默认: 100Item Processor(即 Item Pipeline) 同时处理(每个response的)i原创 2020-08-10 15:50:27 · 387 阅读 · 0 评论 -
爬虫scrapy之四(20)
1. 数据的提取1.1 控制台打印import scrapyclass DoubanSpider(scrapy.Spider): name = 'douban' allwed_url = 'douban.com' start_urls = [ 'https://movie.douban.com/top250/' ] def parse(self, response): movie_name = response.xpath(原创 2020-08-01 10:15:28 · 210 阅读 · 0 评论 -
爬虫Scrapy之三(19)
1 Scrapy提取项目从网页中提取数据,Scrapy 使用基于 XPath 和 CSS 表达式的技术叫做选择器。以下是 XPath 表达式的一些例子:这将选择 HTML 文档中的 <head> 元素中的 <title> 元素/html/head/title这将选择 <title> 元素中的文本/html/head/title/text()这将选择所有的 <td> 元素//td选择 div 包含一个属性 class=”sli原创 2020-08-01 10:15:03 · 210 阅读 · 0 评论 -
`爬虫scrapy之二(18)
1 基本使用1.1 创建项目运行命令:scrapy startproject myfrist(your_project_name)文件说明:名称作用scrapy.cfg项目的配置信息,主要为Scrapy命令行工具提供一个基础的配置信息。(真正爬虫相关的配置信息在settings.py文件中)items.py设置数据存储模板,用于结构化数据,如:Django的Modelpipelines数据处理行为,如:一般结构化的数据持久化settings.py配置文原创 2020-08-01 10:14:39 · 117 阅读 · 0 评论 -
爬虫--Item Pipeline 介绍(21)
1. Item Pipeline 介绍当Item 在Spider中被收集之后,就会被传递到Item Pipeline中进行处理每个item pipeline组件是实现了简单的方法的python类,负责接收到item并通过它执行一些行为,同时也决定此Item是否继续通过pipeline,或者被丢弃而不再进行处理item pipeline的主要作用:清理html数据验证爬取的数据去重并丢弃讲爬取的结果保存到数据库中或文件中2. 编写自己的item pipeline2.1 必须实现的函数原创 2020-08-10 15:50:13 · 525 阅读 · 0 评论 -
爬虫Scrapy之一(17)
1. Scrapy 框架介绍Scrapy是Python开发的一个快速,高层次的屏幕抓取和web抓取框架,用于抓取web站点并从页面中提取结构化的数据。Scrapy = Scrach+PythonScrapy用途广泛,可以用于数据挖掘、监测和自动化测试、信息处理和历史档案等大量应用范围内抽取结构化数据的应用程序框架,广泛用于工业Scrapy 使用Twisted 这个异步网络库来处理网络通讯,架构清晰,并且包含了各种中间件接口,可以灵活的完成各种需求。Scrapy是由Twisted写的一个受欢原创 2020-07-16 11:08:24 · 242 阅读 · 0 评论 -
爬虫Tesseract(16)
1. Tesseract介绍tesseract 是一个google支持的开源ocr项目其项目地址:https://github.com/tesseract-ocr/tesseract目前最新的源码可以在这里下载2. Tesseract安装包下载Tesseract的release版本下载地址:https://github.com/tesseract-ocr/tesseract/wiki/Downloads,这里需要注意这一段话:Currently, there is no official原创 2020-07-16 11:06:37 · 155 阅读 · 0 评论 -
爬虫——Selenium 处理滚动条(15)
Selenium 处理滚动条selenium并不是万能的,有时候页面上操作无法实现的,这时候就需要借助JS来完成了当页面上的元素超过一屏后,想操作屏幕下方的元素,是不能直接定位到,会报元素不可见的。这时候需要借助滚动条来拖动屏幕,使被操作的元素显示在当前的屏幕上。滚动条是无法直接用定位工具来定位的。selenium里面也没有直接的方法去控制滚动条,这时候只能借助J了,还好selenium提供了一个操作js的方法:execute_script(),可以直接执行js的脚本一. 控制滚动条高度1.1滚原创 2020-07-16 11:05:35 · 740 阅读 · 0 评论 -
爬虫Selenium(14)
1. SeleniumSelenium是一个Web的自动化测试工具,最初是为网站自动化测试而开发的,类型像我们玩游戏用的按键精灵,可以按指定的命令自动操作,不同是Selenium 可以直接运行在浏览器上,它支持所有主流的浏览器(包括PhantomJS这些无界面的浏览器)。Selenium 可以根据我们的指令,让浏览器自动加载页面,获取需要的数据,甚至页面截屏,或者判断网站上某些动作是否发生。Selenium 自己不带浏览器,不支持浏览器的功能,它需要与第三方浏览器结合在一起才能使用。但是我们有时候需要原创 2020-07-16 11:04:20 · 149 阅读 · 0 评论 -
爬虫多线程(13)
1. 引入我们之前写的爬虫都是单个线程的?这怎么够?一旦一个地方卡到不动了,那不就永远等待下去了?为此我们可以使用多线程或者多进程来处理。不建议你用这个,不过还是介绍下了,如果想看可以看看下面,不想浪费时间直接看2. 如何使用爬虫使用多线程来处理网络请求,使用线程来处理URL队列中的url,然后将url返回的结果保存在另一个队列中,其它线程在读取这个队列中的数据,然后写到文件中去3. 主要组成部分3.1 URL队列和结果队列将将要爬去的url放在一个队列中,这里使用标准库Queue原创 2020-07-09 20:37:38 · 80 阅读 · 0 评论 -
爬虫pyquery(12)
1. pyquery1.1 介绍如果你对CSS选择器与Jquery有有所了解,那么还有个解析库可以适合你–Jquery官网https://pythonhosted.org/pyquery/1.2 安装pip install pyquery1.3 使用方式1.3.1 初始化方式字符串 from pyquery import PyQuery as pq doc = pq(str) print(doc(tagname))url from py原创 2020-07-09 20:35:34 · 84 阅读 · 0 评论 -
爬虫JSON(11)
1. JSON与JsonPATHJSON(JavaScript Object Notation) 是一种轻量级的数据交换格式,它使得人们很容易的进行阅读和编写。同时也方便了机器进行解析和生成。适用于进行数据交互的场景,比如网站前台与后台之间的数据交互。JSON和XML的比较可谓不相上下。Python 中自带了JSON模块,直接import json就可以使用了。官方文档:http://docs.python.org/library/json.htmlJson在线解析网站:http://www.js原创 2020-07-09 20:34:26 · 118 阅读 · 0 评论 -
爬虫 XPath(10)
1. 介绍之前 BeautifulSoup 的用法,这个已经是非常强大的库了,不过还有一些比较流行的解析库,例如 lxml,使用的是 Xpath 语法,同样是效率比较高的解析方法。如果大家对 BeautifulSoup 使用不太习惯的话,可以尝试下 Xpath官网 http://lxml.de/index.htmlw3c http://www.w3school.com.cn/xpath/index.asp2. 安装pip install lxml3. XPath语法XPath 是一门在原创 2020-07-09 20:33:14 · 183 阅读 · 0 评论 -
爬虫Beautiful Soup(9)
1. Beautiful Soup的简介Beautiful Soup提供一些简单的、python式的函数用来处理导航、搜索、修改分析树等功能。它是一个工具箱,通过解析文档为用户提供需要抓取的数据,因为简单,所以不需要多少代码就可以写出一个完整的应用程序。Beautiful Soup自动将输入文档转换为Unicode编码,输出文档转换为utf-8编码。你不需要考虑编码方式,除非文档没有指定一个编码方式,这时,Beautiful Soup就不能自动识别编码方式了。然后,你仅仅需要说明一下原始编码方式就原创 2020-07-09 17:11:44 · 246 阅读 · 0 评论 -
爬虫实例(8)
import requestsimport reurl='https://www.qiushibaike.com/text/'header = { 'User-Agent':'Mozilla/5.0(Windows;U;WindowsNT6.1;en-us)AppleWebKit/534.50(KHTML,likeGecko)Version/5.1Safari/534.50'}response= requests.get(url,headers=header)info=response.原创 2020-07-09 17:07:18 · 109 阅读 · 0 评论 -
爬虫re(7)
1. 提取数据在前面我们已经搞定了怎样获取页面的内容,不过还差一步,这么多杂乱的代码夹杂文字我们怎样把它提取出来整理呢?下面就开始介绍一个十分强大的工具,正则表达式!正则表达式是对字符串操作的一种逻辑公式,就是用事先定义好的一些特定字符、及这些特定字符的组合,组成一个“规则字符串”,这个“规则字符串”用来表达对字符串的一种过滤逻辑。正则表达式是用来匹配字符串非常强大的工具,在其他编程语言中同样有正则表达式的概念,Python同样不例外,利用了正则表达式,我们想要从返回的页面内容提取出我们想要的内容原创 2020-07-09 13:47:45 · 123 阅读 · 0 评论 -
爬虫requests库(6)
1. 介绍对了解一些爬虫的基本理念,掌握爬虫爬取的流程有所帮助。入门之后,我们就需要学习一些更加高级的内容和工具来方便我们的爬取。那么这一节来简单介绍一下 requests 库的基本用法2. 安装利用 pip 安装pip install requests3. 基本请求req = requests.get("http://www.baidu.com")req = requests.post("http://www.baidu.com")req = requests.put("http:/原创 2020-07-09 11:36:11 · 97 阅读 · 0 评论 -
爬虫Cookie与URLError(5)
1. Cookie为什么要使用Cookie呢?Cookie,指某些网站为了辨别用户身份、进行session跟踪而储存在用户本地终端上的数据(通常经过加密)比如说有些网站需要登录后才能访问某个页面,在登录之前,你想抓取某个页面内容是不允许的。那么我们可以利用Urllib库保存我们登录的Cookie,然后再抓取其他页面就达到目的了。1.1 Opener当你获取一个URL你使用一个opener(一个urllib.OpenerDirector的实例)。在前面,我们都是使用的默认的opener,也就是url原创 2020-07-09 11:28:56 · 107 阅读 · 0 评论 -
爬虫小试(3)
1. 小试牛刀怎样扒网页呢?其实就是根据URL来获取它的网页信息,虽然我们在浏览器中看到的是一幅幅优美的画面,但是其实是由浏览器解释才呈现出来的,实质它是一段HTML代码,加 JS、CSS,如果把网页比作一个人,那么HTML便是他的骨架,JS便是他的肌肉,CSS便是它的衣服。所以最重要的部分是存在于HTML中的,下面我们就写个例子来扒一个网页下来from urllib.request import urlopen response = urlopen("http://www.baidu.com")原创 2020-07-09 11:24:32 · 113 阅读 · 0 评论 -
爬虫工具(2)
1. 常用的工具pythonpycharm浏览器chrome火狐fiddler2 fiddler的使用2.1 操作界面[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-i3XzQTvR-1593691572981)(https://note.youdao.com/yws/api/personal/file/04B3654AAB1F479DB305CD78C4B921D1?method=download&shareKey=1f99688aca32原创 2020-07-09 11:23:08 · 211 阅读 · 0 评论 -
爬虫简介(1)
1. 什么是爬虫?网络爬虫也叫网络蜘蛛,如果把互联网比喻成一个蜘蛛网,那么蜘蛛就是在网上爬来爬去的蜘蛛,爬虫程序通过请求url地址,根据响应的内容进行解析采集数据,比如:如果响应内容是html,分析dom结构,进行dom解析、或者正则匹配,如果响应内容是xml/json数据,就可以转数据对象,然后对数据进行解析。2. 有什么作用?通过有效的爬虫手段批量采集数据,可以降低人工成本,提高有效数据量,给予运营/销售的数据支撑,加快产品发展。[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直.原创 2020-07-09 11:20:57 · 124 阅读 · 0 评论