scrapy-01:简单实列

scrapy-01:简单实列

最近开始学习自然语言处理,在自然语言处理的过程中,获取语料,处理语料都是非常重要的一部,因此在开始入门学习自然语言处理的同时,也开始练习一些爬虫,暑假时学过一点,但是也忘得差不多了,于是重新开始,并记录下来、

1 scrapy库介绍

(1)具体的介绍可以自行百度

(2)安装方法:

#利用pip安装
pip install scrapy
#利用conda安装
conda install scrapy
2 scrapy的简单使用

(1)代码实例


# coding: utf-8

import scrapy
from w3lib.html import remove_tags

#定义一个类,继承了scrapy,spider
class StackOvverflowSpider(scrapy.Spider):
   #爬虫项目的名字,在整个项目中,这个名字需要唯一
   name="stackoverflow"
   #指定爬虫开始的网址链接
   start_urls=["http://stackoverflow.com/questions?sort=votes"]

   #爬虫项目的回调函数
   def parse(self,response):
       #通过css样式来获取需要遍历的链接,
       for href in response.css(".question-summary h3 a::attr(href)"):
           #组装成完整的链接
           full_url=response.urljoin(href.extract())
           #对每一个完整的链接,传给回调函数,在回调函数中抓取页面内容
           yield scrapy.Request(full_url,callback=self.parse_question)


   def parse_question(self,response):
       yield{
           #指定要抓取的内容,title是抓取结果中保存的字段,后面对应的是他的页面上的内容,后面的css中的类名,需要事先打开网页源代码查看。
           'title':response.css('h1 a::text').extract()[0],
           'votes':response.css('.question .vote-count-post::text').extract()[0],
           'body':response.css('.question .post-text').extract()[0]
       }

(2)运行代码

scrapy runspider  scrapy_1.py -o abc.csv

(3)代码讲解:见代码中的注释

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值