scrapy1.3.2 写一个简单爬虫

本文介绍如何使用Scrapy框架创建并运行一个简单的爬虫项目。包括工程搭建、配置下载延迟、禁用机器人协议等步骤,并演示了如何解析网页数据。

新建scrapy工程

scrapy startproject project_name

进入工程目录,新建spider

scrapy genspider --template=crawl spider_file_name www.baidu.com

修改settings.py文件

#关掉机器人协议
ROBOTSTXT_OBEY = False
#设置下载延迟
DOWNLOAD_DELAY = 2

在工程目录下添加run.py文件

from scrapy import cmdline
# window和ubuntu下都可以这么用
cmdline.execute('scrapy crawl spider_name'.split())

进入spider目录,修改spider_file_name.py文件

import re
from scrapy.spider import CrawlSpider
from scrapy.http import Request
from scrapy.selector import Selector

class tspider(CrawlSpider):
	name = 'spider_name'

	def start_request(self):

		url = 'https://www.baidu.com'
		yield Request(url=url,callback=self.parse)

	def parse(self,response):

		selector = Selector(response)
		baidulist = selector.xpath('body/div[@id="wrapper" and @style]/ \
			div[@id="head" and @class=""]/div[@class="head_wrapper"]/ \
			div[@id="u1"]')
		for a in baidulist:
			print a.xpath('a/text()')
		pass

然后运行run.py即可

好的,下面是一个简单的使用Scrapy框架编爬虫的例子: 1. 创建项目 首先,需要在终端中使用以下命令创建一个Scrapy项目: ``` scrapy startproject <项目名> ``` 2. 定义Item 接下来,需要定义要爬取的数据的结构。在Scrapy中,可以使用Item类来定义数据结构。在项目目录下,创建一个items.py文件,并定义Item类,例如: ```python import scrapy class MyItem(scrapy.Item): title = scrapy.Field() content = scrapy.Field() ``` 这里定义了一个名为MyItem的Item类,包含两个字段:title和content。 3.Spider 接下来,需要编Spider,定义如何爬取网站数据。在项目目录下,创建一个spiders目录,并在其中创建一个名为myspider.py的文件。在该文件中定义Spider,例如: ```python import scrapy from myproject.items import MyItem class MySpider(scrapy.Spider): name = &#39;myspider&#39; allowed_domains = [&#39;example.com&#39;] start_urls = [&#39;http://www.example.com&#39;] def parse(self, response): item = MyItem() item[&#39;title&#39;] = response.xpath(&#39;//title/text()&#39;).extract_first() item[&#39;content&#39;] = response.xpath(&#39;//body/text()&#39;).extract_first() yield item ``` 这里定义了一个名为MySpider的Spider类,包含三个属性:name、allowed_domains和start_urls。其中,name是Spider的名称,allowed_domains是允许爬取的域名列表,start_urls是Spider开始爬取的URL列表。 parse方法定义了如何解析爬取到的网页数据。在这个例子中,我们使用XPath表达式获取title和body字段,并将结果存储到MyItem对象中。最后,使用yield语句将MyItem对象传递给Scrapy引擎。 4. 运行爬虫 在终端中使用以下命令来运行Spider: ``` scrapy crawl myspider ``` 这里的myspider是Spider的名称,对应于MySpider类中的name属性。 以上就是一个简单的使用Scrapy框架编爬虫的例子。当然,这只是Scrapy的基础用法,Scrapy还有很多高级功能和用法,可以根据自己的需求进行学习和使用。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值