随笔分类 -  python爬虫

摘要:1. 介绍 Scrapy提供了一个 item pipeline ,来下载属于某个特定项目的图片,比如,当你抓取产品时,也想把它们的图片下载到本地。 这条管道,被称作图片管道,在 ImagesPipeline 类中实现,提供了一个方便并具有额外特性的方法,来下载并本地存储图片: 将所有下载的图片转换成 阅读全文
posted @ 2022-02-26 19:49 齐天_大圣 阅读(171) 评论(0) 推荐(0)
摘要:1. 数据的提取 1.1 控制台打印 import scrapy class DoubanSpider(scrapy.Spider): name = 'douban' allwed_url = 'douban.com' start_urls = [ 'https://movie.douban.com 阅读全文
posted @ 2022-02-26 19:48 齐天_大圣 阅读(153) 评论(0) 推荐(0)
摘要:1 基本使用 1.1 创建项目 运行命令: scrapy startproject myfrist(your_project_name) 文件说明: 名称 作用 scrapy.cfg 项目的配置信息,主要为Scrapy命令行工具提供一个基础的配置信息。(真正爬虫相关的配置信息在settings.py 阅读全文
posted @ 2022-02-26 19:46 齐天_大圣 阅读(53) 评论(0) 推荐(0)
摘要:1 Scrapy提取项目 从网页中提取数据,Scrapy 使用基于 XPath 和 CSS 表达式的技术叫做选择器。以下是 XPath 表达式的一些例子: 这将选择 HTML 文档中的 <head> 元素中的 <title> 元素 /html/head/title 这将选择 <title> 元素中的 阅读全文
posted @ 2022-02-26 19:46 齐天_大圣 阅读(112) 评论(0) 推荐(0)
摘要:1. Scrapy 框架介绍 Scrapy 是一个用于抓取网站和提取结构化数据的应用程序框架,可用于各种有用的应用程序,如数据挖掘、信息处理或历史存档。 尽管 Scrapy 最初是为网络抓取而设计的,但它也可用于使用 API提取数据或用作通用网络爬虫。 1.1 为什么要使用Scrapy? 它更容易构 阅读全文
posted @ 2022-02-26 19:45 齐天_大圣 阅读(110) 评论(0) 推荐(0)
摘要:selenium参数的使用 1 元素拖拽 要完成元素的拖拽,首先你需要指定被拖动的元素和拖动目标元素,然后利用 ActionChains 类来实现 <!doctype html> <html lang="en"> <head> <meta charset="utf-8"> <meta name="v 阅读全文
posted @ 2022-02-26 19:45 齐天_大圣 阅读(254) 评论(0) 推荐(0)
摘要:1 等待 1.1 强制等待 使用 time.sleep 作用: 当代码运行到强制等待这一行的时候,无论出于什么原因,都强制等待指定的时间,需要通过time模块实现 优点:简单 缺点:无法做有效的判断,会浪费时间 1.2 隐式等待 到了一定的时间发现元素还没有加载,则继续等待我们指定的时间,如果超过了 阅读全文
posted @ 2022-02-26 19:44 齐天_大圣 阅读(70) 评论(0) 推荐(0)
摘要:selenium 处理下拉框 下拉框是我们最常见的一种页面元素,对于一般的元素,我们只需要一次就定位,但下拉框里的内容需要进行两次定位,先定位到下拉框,再定位到下拉框内里的选项。 drop_down.html <html> <body> <select id="ShippingMethod" onc 阅读全文
posted @ 2022-02-26 19:43 齐天_大圣 阅读(120) 评论(0) 推荐(0)
摘要:Selenium 调用js方法 execute_script(script, *args) 有时候我们需要控制页面滚动条上的滚动条,但滚动条并非页面上的元素,这个时候就需要借助js是来进行操作。 一般用到操作滚动条的会两个场景: 要操作的页面元素不在当前页面范围,无法进行操作,需要拖动滚动条 注册时 阅读全文
posted @ 2022-02-26 19:43 齐天_大圣 阅读(524) 评论(0) 推荐(0)
摘要:1. 窗口的定位 对于一个现代的web应用,经常会出现框架(frame) 或窗口(window)的应用,这也就给我们的定位带来了一个难题。 有时候我们定位一个元素,定位器没有问题,但一直定位不了,这时候就要检查这个元素是否在一个frame中,seelnium webdriver 提供了一个switc 阅读全文
posted @ 2022-02-26 19:42 齐天_大圣 阅读(173) 评论(0) 推荐(0)
摘要:1. Selenium 控制浏览器 1.1 最大化窗口 我们知道调用启动的浏览器不是全屏的,这样不会影响脚本的执行,但是有时候会影响我们“观看”脚本的执行。 browser = webdriver.Chrome() url= 'http://www.baidu.com' browser.get(ur 阅读全文
posted @ 2022-02-26 19:41 齐天_大圣 阅读(125) 评论(0) 推荐(0)
摘要:对象的定位应该是自动化的核心,要想操作一个对象,首先应该识别这个对象。 一个对象就是一个人一样,他会有各种的特征(属性),如比我们可以通过一个人的身份证号,姓名,或者他住在哪个街道、楼层、门牌找到这个人。 1.1 对象定位 webdriver提供了一系列的对象定位方法,常用的有以下几种 单个元素选取 阅读全文
posted @ 2022-02-26 19:41 齐天_大圣 阅读(95) 评论(0) 推荐(0)
摘要:1. Selenium 安装与测试 Selenium是一个Web的自动化测试工具,最初是为网站自动化测试而开发的,类型像我们玩游戏用的按键精灵,可以按指定的命令自动操作,不同是Selenium 可以直接运行在浏览器上,它支持所有主流的浏览器(包括PhantomJS这些无界面的浏览器)。 Seleni 阅读全文
posted @ 2022-02-26 19:40 齐天_大圣 阅读(123) 评论(0) 推荐(0)
摘要:1 协程 首先我们需要知道的是requests是同步的方法。而我们若想使用协程,写的方法都尽量不是使用同步的方法。 因些我们,选择使用一个新的模块库`aiohttp 官网 https://docs.aiohttp.org/en/stable/ 1.1 安装 pip install aiohttp 1 阅读全文
posted @ 2022-02-26 19:39 齐天_大圣 阅读(138) 评论(0) 推荐(0)
摘要:1. 引入 我们之前写的爬虫都是单个线程的?这怎么够?一旦一个地方卡到不动了,那不就永远等待下去了?为此我们可以使用多线程或者多进程来处理。 不建议你用这个,不过还是介绍下了,如果想看可以看看下面,不想浪费时间直接看 2. 如何使用 爬虫使用多线程来处理网络请求,使用线程来处理URL队列中的url, 阅读全文
posted @ 2022-02-26 19:38 齐天_大圣 阅读(98) 评论(0) 推荐(0)
摘要:1 多进程 multiprocessing是python的多进程管理包,和threading.Thread类似 1.1 multiprocessing模块 直接从侧面用subprocesses替换线程使用GIL的方式,由于这一点,multiprocessing模块可以让程序员在给定的机器上充分的利用 阅读全文
posted @ 2022-02-26 19:38 齐天_大圣 阅读(68) 评论(0) 推荐(0)
摘要:1. JSON与JsonPATH JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式,它使得人们很容易的进行阅读和编写。同时也方便了机器进行解析和生成。适用于进行数据交互的场景,比如网站前台与后台之间的数据交互。 JSON和XML的比较可谓不相上下。 Pyt 阅读全文
posted @ 2022-02-26 19:37 齐天_大圣 阅读(199) 评论(0) 推荐(0)
摘要:1. 介绍 之前 BeautifulSoup 的用法,这个已经是非常强大的库了,不过还有一些比较流行的解析库,例如 lxml,使用的是 Xpath 语法,同样是效率比较高的解析方法。如果大家对 BeautifulSoup 使用不太习惯的话,可以尝试下 Xpath 官网 http://lxml.de/ 阅读全文
posted @ 2022-02-26 19:36 齐天_大圣 阅读(69) 评论(0) 推荐(0)
摘要:1. pyquery 1.1 介绍 如果你对CSS选择器与Jquery有有所了解,那么还有个解析库可以适合你--Jquery 官网https://pythonhosted.org/pyquery/ 1.2 安装 pip install pyquery 1.3 使用方式 1.3.1 初始化方式 字符串 阅读全文
posted @ 2022-02-26 19:35 齐天_大圣 阅读(69) 评论(0) 推荐(0)
摘要:1. 提取数据 在前面我们已经搞定了怎样获取页面的内容,不过还差一步,这么多杂乱的代码夹杂文字我们怎样把它提取出来整理呢?下面就开始介绍一个十分强大的工具,正则表达式! 正则表达式是对字符串操作的一种逻辑公式,就是用事先定义好的一些特定字符、及这些特定字符的组合,组成一个“规则字符串”,这个“规则字 阅读全文
posted @ 2022-02-26 19:33 齐天_大圣 阅读(162) 评论(0) 推荐(0)