Linux指令

腾讯云服务器+Ubuntu+Scrapy抓取网页数据

2017-05-02  本文已影响415人  狸狸深深

所需工具

1.搭建服务器环境

1.1远程连接服务器###

1.1.1下载安装xshell####

1.1.2与服务器建立连接####

miyao1.PNG miyao2.PNG miyao3.PNG miyao4.PNG bang1.PNG

这里要先关闭服务器,再进行绑定。


bang2.PNG bang3.PNG bang4.PNG

绑定之后再将服务器开机。

connsuccess.PNG

1.2配置服务器环境###

1.2.1新增用户####

输入指令:sudo adduser username

adduser.PNG
输入指令:cd /home/username
sudo usermod -aG sudo username为用户添加sudo权限
su root提升用户权限:#是系统管理员,$是普通管理员
sudo.PNG
更多指令参考Ubuntu 常用命令整理

1.2.2安装虚拟环境、各种软件包、scrapy####

此过程详见Linux云服务器下配置Scrapy并抓取数据

2.创建数据采集项目,抓取网页源码

这里以抓取Quotes to Scrape名人名言为例。

这里需要非常注意,Python语言是一款对缩进非常敏感的语言,所以编写Python代码时要注意缩进,否则就会容易出现在编译时会出现这样的错误IndentationError:expected an indented block。最常见的情况是tab和空格的混用会导致错误。所以该缩进的地方要缩进,而且不能空格与tab混用。

3.抓取热门标签下的名人名言

对爬虫还不是非常了解,所以我在这用的是一种比较笨的方法:手动将10个热门标签对应的url放在urls列表里......
代码如下:

      import scrapy

      class QuotesSpider(scrapy.Spider):
      name="hot_quotes"
        start_urls=[
          'http://quotes.toscrape.com/tag/love/',
          'http://quotes.toscrape.com/tag/inspirational/',
          'http://quotes.toscrape.com/tag/life/',
          'http://quotes.toscrape.com/tag/humor/',
          'http://quotes.toscrape.com/tag/books/',
          'http://quotes.toscrape.com/tag/reading/',
          'http://quotes.toscrape.com/tag/friendship/',
          'http://quotes.toscrape.com/tag/friends/',
          'http://quotes.toscrape.com/tag/truth/',
          'http://quotes.toscrape.com/tag/simile/',
        ]

        def parse(self,response):
          for quote in response.css('div.quote'):
            yield {
              'text':quote.css('span.text::text').extract_first(),
              'author':quote.css('small.author::text').extract_first(),
              'tags':quote.css('div.tags a.tag::text').extract(),
        }

        next_page=response.css('li.next a::attr(href)').extract_first()
        if next_page is not None:
          next_page=response.urljoin(next_page)
          yield scrapy.Request(next_page,callback=self.parse)

name是爬虫名字,这个名字必须是唯一的。

4.json与xml互转

百度线上工具:在线XML、JSON数据互转

5.经验教训

6.参考来源##

上一篇下一篇

猜你喜欢

热点阅读