zoukankan      html  css  js  c++  java
  • python 网络爬虫 scapy 下载 论坛帖子链接和标题

    由于喜欢玩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

  • 相关阅读:
    如何成为强大的程序员?(转)
    PHP Directory 函数
    PHP 类相关函数
    myeclipse安装svn插件的多种方式
    PHPEXCEL类操作EXCEL
    PHP 自定义错误处理函数(转)
    JBoss JBPM 实践系列(一) 安装配置(Tomcat 6.0 + MySQL 5.1)
    Ext.data.Store的相关知识
    Lotus Notes 和 Crystal Report 的整合應用
    JBoss JBPM 实践系列(二) jbpm设计器的配置和使用
  • 原文地址:https://www.cnblogs.com/passagain/p/10806659.html
Copyright © 2011-2022 走看看