scrapy学习笔记 1,第一次使用scrapy

第一次使用scrapy,记下爬过的坑

1,xpath语法,xpath语法用于选取需要的数据,用过bs4会比较好的理解它,类似于从一目录树查找,

xpath(‘/html/body/div/div‘),这是绝对路径找数据

xpath(‘//*[@id = “niubi”]‘),这是相对路径找数据

还可以选择从绝对路径到某一路径下,找一个“特殊”的数据

xpath(‘//*a/html/body/div1/div2),找div2下的所有a标签

2,找到后,需要实例化,这是第二个坑,实例化有extract()函数,然后才能转换成字符串,之后就能操作数据了

3,在爬虫脚本中,spider中,如果需要定义全局变量,千万不能定义name,估计一些scrapy的关键字也不能定义,不然爬虫莫名死掉

4,回调函数,parse中的值,不能传入回调函数中,不知道是不是我技术不行呢,就是传不进去- -

5,item,在起始位置,from导入之后,需要在使用的函数内,或者说class中定义静态方法,item = xxxitem(),不然它不认识你的数组,但是在pipeline中却不需要

1 # -*- coding: utf-8 -*-

import scrapy

from text.items import TextItem

import sys

class ExampleSpider(scrapy.Spider):

name = "qunimade"

allowed_domains = ["biquge.com.tw"]

start_urls = ( 10 ‘http://www.biquge.com.tw/11_11850‘,)

global d,n

d = {} 13 n = ‘‘

def parse(self,response):

shou = response.xpath(‘/html/body/div/div/div/dl/dd/a/@href‘)

wen = response.xpath(‘/html/body/div/div/div/dl/dd/a/text()‘)

n = response.xpath(‘/html/body/div/div/div/div/h1/text()‘).extract()[0]

x = 1

for t in wen.extract():

t.strip() 21 d[t] = x

x = x + 1 23 po = ‘http://www.biquge.com.tw‘

for i in shou.extract(): 26 p = po + i 27 yield scrapy.Request(p,callback = self.parse_1) 28 29 30 31 32 def parse_1(self, response): 33 item = TextItem() 34 h1 = response.xpath(‘/html/body/div/div/div/div/h1/text()‘) 35 r = h1[0].extract() 36 r = r.strip() 37 item[‘zhangjie‘] = r 38 tt = d[r]

原文地址:https://www.cnblogs.com/fengganlmei/p/8111583.html

时间: 2024-11-05 21:57:23

scrapy学习笔记 1,第一次使用scrapy的相关文章

Python爬虫框架Scrapy 学习笔记 3 ------- 第一个Scrapy项目

开发环境PyCharm 目标网站和上一次一样,可参考:http://dingbo.blog.51cto.com/8808323/1597695 但是这次不是在单个文件中运行,而是创建一个scrapy项目 1.使用命令行工具创建scrapy项目的基本目录结构 2. 编辑items.py 3.在spiders目录下,新建spider1.py 报错很正常 我们按照scrapy project的目录结构导入了TorrentItem,而不是pyCharm project的目录结构 4.运行spider 抓

Python爬虫框架Scrapy 学习笔记 4 ------- 第二个Scrapy项目

1. 任务一,抓取以下两个URL的内容,写入文件 http://www.dmoz.org/Computers/Programming/Languages/Python/Books/ http://www.dmoz.org/Computers/Programming/Languages/Python/Resources/ 项目截图 和上一个project不同的是,在spider中没有定义rules属性,而是定义了parse方法.这个方法告诉scrapy抓取start urls的内容后应该怎么做.第

Scrapy学习笔记

所谓网络爬虫,就是一个在网上到处或定向抓取数据的程序,当然,这种说法不够专业,更专业的描述就是,抓取特定网站网页的HTML数据.不过由于一个网站的网页很多,而我们又不可能事先知道所有网页的URL地址,所以,如何保证我们抓取到了网站的所有HTML页面就是一个有待考究的问题了.一般的方法是,定义一个入口页面,然后一般一个页面会有其他页面的URL,于是从当前页面获取到这些URL加入到爬虫的抓取队列中,然后进入到新页面后再递归的进行上述的操作,其实说来就跟深度遍历或广度遍历一样. Scrapy是一个基于

Python爬虫框架Scrapy 学习笔记 10.2 -------【实战】 抓取天猫某网店所有宝贝详情

第二部分 抽取起始页中进入宝贝详情页面的链接 创建项目,并生成spider模板,这里使用crawlspider. 2. 在中scrapy shell中测试选取链接要使用的正则表达式. 首先使用firefox和firebug查看源码,定位到要链接 然后在shell中打开网页: scrapy shell  http://shanhuijj.tmall.com/search.htm?spm=a1z10.3-b.w4011-3112923129.1.KjGkS2 确定正则表达式为:http://deta

Python爬虫框架Scrapy 学习笔记 6 ------- 基本命令

1. 有些scrapy命令,只有在scrapy project根目录下才available,比如crawl命令 2 . scrapy genspider taobao http://detail.tmall.com/item.htm?id=12577759834 自动在spider目录下生成taobao.py # -*- coding: utf-8 -*- import scrapy class TaobaoSpider(scrapy.Spider):     name = "taobao&qu

Python爬虫框架Scrapy 学习笔记 10.3 -------【实战】 抓取天猫某网店所有宝贝详情

第三部分 替换默认下载器,使用selenium下载页面 对详情页稍加分析就可以得出:我们感兴趣的大部分信息都是由javascript动态生成的,因此需要先在浏览器中执行javascript代码,再从最终的页面上抓取信息(当然也有别的解决方案). scrapy 本身提供了 Middleware机制.利用Dowloader Middleware可以改变默认的request对象和reponse对象,甚至替换默认的下载器.(可以对比JavaEE中的Filter理解Middleware) scrapy 架

Python爬虫框架Scrapy 学习笔记 1 ----- 安装

一. 安装 平台 windows 7 1. 安装 python2.7 32 位 2. 安装 Python2.7-twisted-14.0.2  下载msi安装包双击安装即可 3. 安装 python2.7对应的pip 4. 配置好python的环境变量后,打开cmd运行 : pip install scrapy pip默认为我安装了 Scrapy 0.24.4 二.相关文档下载 官方提供了PDF格式的文档,点击下载即可.文档只有205页.

scrapy学习笔记(1)

初探scrapy,发现很多入门教程对应的网址都失效或者改变布局了,于是自己摸索做一个笔记. 环境是win10 python3.6(anaconda). 安装 pip install scrapy 这次先尝试爬取美剧天堂(http://www.meijutt.com/) 目标页面: 原文地址:https://www.cnblogs.com/xcx2/p/8454589.html

python scrapy学习笔记(二)

使用scrapy批量抓取,参考http://python.jobbole.com/87155 一.创建项目 # scrapy startproject comics 创建完成后的目录结构 . ├── comics │   ├── __init__.py │   ├── items.py │   ├── middlewares.py │   ├── pipelines.py │   ├── settings.py │   └── spiders │       └── __init__.py └─