使用scrapy第一次成功爬出信息,目标是流放之路论坛

由于喜欢玩POE流放之路,所以用这个论坛试试自己的新技能

程序语句都做了注释说明,下面是步骤

1.建立项目

scrapy startproject poebbs

2.建立爬虫

cd poebbs
scrapy genspider poebd http://bbs.17173.com

3.编辑items.py

title = scrapy.Field()
bbslink = scrapy.Field()

4.编辑poebd.py

import scrapy
from poebbs.items import PoebbsItem #一定要记得导入item

class PoebdSpider(scrapy.Spider):
    name = 'poebd'
    allowed_domains = ['bbs.17173.com']
    start_urls = ['http://bbs.17173.com/forum-9987-1.html', #选择了3页内容来爬
                  'http://bbs.17173.com/forum-9987-2.html',
                  'http://bbs.17173.com/forum-9987-3.html'
                  ]

    def parse(self, response):
        sites = response.css('.new')  #需要的内容在class=’new‘内,所以就取了这个范围
        for site in sites:
            item = PoebbsItem()
            item['title'] = site.css('.new .xst::text').extract_first()  #这里是两个class,没有标签标识
            item['bbslink'] = site.css('.new a::attr(href)').extract()[2] #这个网址在同一个class下,低3个a标签内,所以用这个语法
            yield item
     next_page = response.css('.pgs a::attr(href)').extract_first() #获取下一页链接
     yield scrapy.Request(next_page, callback=self.parse, dont_filter=True) #请求下一页继续爬

5.编辑settings.py

FEED_EXPORT_ENCODING ='utf-8'    #加入这两句防止保存中文文件时乱码
FEED_EXPORT_ENCODING = 'gb18030'

6.运行爬虫

scrapy crawl poebd -o note.csv     #保存为表格文件

结果

2019-05-03

转载于:https://www.cnblogs.com/passagain/p/10806659.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值