scrapy

scrapy get nth-child text of same class

霸气de小男生 提交于 2020-03-22 06:26:31
问题 I've attached a picture. The problem I'm facing is that getting the first element of same class. I'm trying to get .adxHeader > .adxExtraInfo (1st one) > .adxExtraInfoPart (1st one) > a::text I wrote the following code but not working. Any Idea? response.css('div.adxViewContainer div.adxHeader div.adxExtraInfo:nth-child(1) div.adxExtraInfoPart:nth-child(1) a::text').extract_first() expected output: الرياض <div class="adxHeader"> <h3 itemprop="name"> » درج داخلي للاجار جديد حي المونسيه</h3>

windows10环境下pip安装Scrapy报错

牧云@^-^@ 提交于 2020-03-21 13:00:35
问题描述 当前环境win10,python_3.6.1,64位。 在windows下,在dos中运行pip install Scrapy报错: building 'twisted.test.raiser' extension error: Microsoft Visual C++ 14.0 is required. Get it with "Microsoft Visual C++ Build Tools": http://landinghub.visualstudio.com/visual-cpp-build-tools 解决方案 http://www.lfd.uci.edu/~gohlke/pythonlibs/#twisted 下载 twisted 对应版本的whl文件(如我的Twisted‑17.5.0‑cp36‑cp36m‑win_amd64.whl),cp后面是python版本,amd64代表64位 查看python版本方法 运行命令: pip install C:\Users\CR\Downloads\Twisted-17.5.0-cp36-cp36m-win_amd64.whl 1 其中install后面为下载的whl文件的完整路径名 安装完成后,再次运行: pip install Scrapy 1 即可成功。 问题描述 当前环境win10,python_3.6.1

【Scrapy爬虫】批量采集百度网页_知道_新闻_360图片_优酷视频

拥有回忆 提交于 2020-03-21 03:11:49
3 月,跳不动了?>>> Scrapy爬虫】批量采集百度网页_百度知道_百度新闻_360图片_优酷视频 有一堆关键词,采集一批对应的内容,仅需一个脚本:说白就是一个关键词对应有几篇内容、知道、新闻以及图片和视频 可以用来干什么:使用web框架(Flask、Django),CMS(帝国、织梦)等聚合一堆页面。。。 需求主要使用Scarpy爬虫框架,涉及很多实用小技巧: 1,去除html标签 2,chardet编码识别 3,start_url批量添加 4,__xxx 类中的私有变量 5,callback传递多个参数 6,字典dict去重 7,无处不在的正则表达式 8,PyV8解析js(伪) #coding:utf-8 import scrapy,re,urllib,chardet,json from seo.items import SeoItem from scrapy.http import Request from readability.readability import Document # import PyV8 import sys reload(sys) sys.setdefaultencoding('utf-8') def number(content): text = re.sub("[\s+\.\!\/_,$%^*(+\"\']+|[+——!,::。?、~@#¥

scrapy爬虫框架之理解篇(个人理解)

心已入冬 提交于 2020-03-20 23:50:10
提问: 为什么使用scrapy框架来写爬虫 ? 在python爬虫中:requests + selenium 可以解决目前90%的爬虫需求,难道scrapy 是解决剩下的10%的吗?显然不是。scrapy框架是为了让我们的爬虫更强大、更高效。接下来我们一起学习一下它吧。 1.scrapy 的基础概念:   scrapy 是一个为了爬取网站数据,提取结构性数据而编写的应用框架,我们只需要实现少量代码,就能够快速的抓取到数据内容。Scrapy 使用了 Twisted ['twɪstɪd] (其主要对手是Tornado)异步网络框架来处理网络通讯,可以加快我们的下载速度,不用自己去实现异步框架,并且包含了各种中间件接口,可以灵活的完成各种需求。 http://scrapy-chs.readthedocs.io/zh_CN/1.0/intro/overview.html 2. scrapy 的工作流程:     之前我们所写爬虫的流程:    那么 scrapy是如何帮助我们抓取数据的呢? scrapy框架的工作流程:1.首先Spiders(爬虫)将需要发送请求的url(requests)经ScrapyEngine(引擎)交给Scheduler(调度器)。           2.Scheduler(排序,入队) 处理后,经ScrapyEngine

网络爬虫框架 Scrapy 入门教程

*爱你&永不变心* 提交于 2020-03-17 01:53:58
某厂面试归来,发现自己落伍了!>>> Scrapy 是一个用 Python 开发的爬虫框架,用于抓取 Web 页面并提取其中的结构化数据。 安装 首先,确定你的电脑上已经安装了 Python 3 以及对应的 pip。可以使用下面的命令查看: $ python3 --version Python 3.6.3 $ pip3 --version pip 9.0.1 from /usr/local/lib/python3.6/site-packages (python 3.6) 如果没有安装的话,推荐使 Homebrew 这个工具来进行安装。 pip 是 Python 的一个包管理工具,类似于 npm,可以在线安装、卸载所有的第三方 Python 模块,并自动处理依赖关系。这里我们使用下面的命令来安装 Scrapy 模块: $ pip3 install scrapy 教程:一个抓取豆瓣电影 Top 250 的爬虫 首先,我们使用下面的命令来创建并初始化 Scrapy 项目: $ scrapy startproject doubanmovie 这样便会在当前目录下创建一个 doubanmovie 的爬虫项目,其内部结构如下: $ tree . ├── doubanmovie │ ├── __init__.py │ ├── __pycache__ │ ├── items.py │ ├──

Win安装Scrapy报错

可紊 提交于 2020-03-14 09:46:27
作者:一只虫 转载请注明出处 当前环境win7,python_3.6.1,64位。 在windows下,在dos中运行pip install Scrapy报错: building 'twisted.test.raiser' extension error: Microsoft Visual C++ 14.0 is required. Get it with "Microsoft Visual C++ Build Tools": http://landinghub.visualstudio.com/visual-cpp-build-tools 解决方案 http://www.lfd.uci.edu/~gohlke/pythonlibs/#twisted 下载 twisted 对应版本的whl文件(如我的Twisted‑17.5.0‑cp36‑cp36m‑win_amd64.whl),cp后面是python版本,amd64代表64位,运行命令: pip install C:\Users\CR\Downloads\Twisted-17.5.0-cp36-cp36m-win_amd64.whl 1 pip install C: \Users \CR \Downloads \Twisted-17.5.0-cp36-cp36m-win_amd64.whl

python之scrapy实战爬取表情包

心不动则不痛 提交于 2020-03-14 01:44:13
前言:在之前我们学习了scrapy框架的基本使用,今天我们通过实战(爬取http://www.doutula.com的套图)来更加了解scrapy框架额使用,仅以此来告别我们的爬虫入门,后续会有一些反爬,验证码识别,数据分析的文章。下次我们就从基础开始学习python,中间也有可能会穿插一些有趣的东西。来帮助我们学习python。 注意:很多人学Python过程中会遇到各种烦恼问题,没有人帮答疑。为此小编建了个Python全栈免费答疑交流.裙 :一久武其而而流一思(数字的谐音)转换下可以找到了,不懂的问题有老司机解决里面还有最新Python教程项目可拿,,一起相互监督共同进步! 一、爬取表情包思路(http://www.doutula.com) 1、打开网站,点击最新套图 2、之后我们可以看到没有套图,我们需要提取每个套图的连接 3、获取连接之后,进入页面提取图片就好了 4、我们可以发现该网站还穿插有广告,我们需要过滤点广告 二、实战 关于新建项目我们就不再多说了。不知道的可以看看这篇文章: scrapy的基本使用 1、首先我们提取第一页的url 通过上图我们可以发现我们想要的url全在class名为col-sm-9的div下, 红色框的部分为广告。不是a标签,所以我们就不用过滤了。我们直接选取col-sm-9下的直接子节点即可 写下如下代码: 值得注意的是在settings

scrapy框架

一世执手 提交于 2020-03-13 18:43:16
一、介绍 Scrapy一个开源和协作的框架,其最初是为了页面抓取 (更确切来说, 网络抓取 )所设计的,使用它可以以快速、简单、可扩展的方式从网站中提取所需的数据。但目前Scrapy的用途十分广泛,可用于如数据挖掘、监测和自动化测试等领域,也可以应用在获取API所返回的数据(例如 Amazon Associates Web Services ) 或者通用的网络爬虫。 Scrapy 是基于twisted框架开发而来,twisted是一个流行的事件驱动的python网络框架。因此Scrapy使用了一种非阻塞(又名异步)的代码来实现并发。整体架构大致如下 在Scrapy的数据流是由执行引擎控制,具体流程如下: 1、spiders产生request请求,将请求交给引擎 2、引擎(EGINE)吧刚刚处理好的请求交给了调度器,以一个队列或者堆栈的形式吧这些请求保存起来,调度一个出来再传给引擎 3、调度器(SCHEDULER)返回给引擎一个要爬取的url 4、引擎把调度好的请求发送给download,通过中间件发送(这个中间件至少有 两个方法,一个请求的,一个返回的), 5、一旦完成下载就返回一个response,通过下载器中间件,返回给引擎,引擎把response 对象传给下载器中间件,最后到达引擎 6、引擎从下载器中收到response对象,从下载器中间件传给了spiders

创建scrapy工程时报错 "from cryptography. hazmat. bindings._ ope ImportError: DLL load failed: 找不到指定的模块。"

落花浮王杯 提交于 2020-03-12 16:00:21
1.问题如下 2.问题原因 from cryptography . hazmat . bindings . _ openssl import ffi , lib ImportError : DLL load faile : 找不到指定的程序 它这里提示少了 from cryptography.hazmat.bindings._openssl import ffi, lib,那我们就手动安装这个库就可以了。 3.解决方案 我们手动安装缺少的cryptography pip install - I cryptography 4.成功创建项目 scrapy startproject scrapyTestProject 5.讨论 网上说需要卸载scrapy,然后再重新安装scrapy库就可以,这个方法是该开发人员做开发不看英文提示,所以学好英语非常重要,英语是一个非常有用的语言工具,可以开拓我们开发视野。你这种方法根本解决不了问题。我使用的方法是可以直接解决问题。 下面是网上使用的无效方法 1.执行下列命令 用pip uninstall scrapy 和 conda remove scrapy 两次卸载掉scrapy,然后再重新安装 pip uninstall scrapy conda remove scrapy 2.删除文件 把c:/windows/system32 目录下的

scrapy实践:headers伪造

孤街浪徒 提交于 2020-03-12 01:51:49
在写网络爬虫时,我们都需要伪装headers来避免反爬,主要就是更改user-agent和refere。 使用requests或urllib未使用scrapy时,都是手动指定headers例如: header = { 'Host': 'www.***.com', 'User-Agent': random.choice(pcUserAgent), 'Accept': '*/*', 'Accept-Language': 'zh-CN,zh;q=0.8,zh-TW;q=0.7,zh-HK;q=0.5,en-US;q=0.3,en;q=0.2', 'Accept-Encoding': 'gzip, deflate, br', 'X-Requested-With': 'XMLHttpRequest', 'Connection': 'close', 'Referer': 'https://www.***.com' } pcUserAgent是一个user-agent列表。 那使用scrapy框架时,伪装headers有多种方法,这里记录一下如何利用Downloader Middleware中间件来设置。 (1)首先,在setting.py中加入user-agent列表 # User-Agent USER_AGENTS = [ # Opera "Mozilla/5.0 (Windows NT 6