scrapy爬虫报告

标签(空格分隔): 腾讯云ubuntu virtualenv scrapy

环境配置

1. 腾讯云

三月份进行了申请,配置,用的是ubuntu

2. 使用MobaXterm_Personal进行SSH远程登陆

1、<i class=”icon-file”></i> 新建一个session

《scrapy爬虫报告》

2、创建用户目录,添加用户,并设置工作目录和bash环境
(附:当时没截图,此图片摘自网上)

《scrapy爬虫报告》

3、<i class=”icon-file”></i> 重新建一个用户的session
4、远程服务器登录成功

《scrapy爬虫报告》

3. 配置虚拟环境

(pip和相关依赖包已经装过了)

1.python虚拟环境安装

pip install virtualenv

2.python虚拟环境创建

virtualenv python

3.python虚拟环境激活

cd python
source bin/activate

4.安装scrapy

1.pip install -i https://pypi.tuna.tsinghua.edu.cn/simple 
2.pip install cryptography
3.pip install scrapy

在安装scrapy时提示:pip需要升级到最新版本:
pip install –upgrade pip

中途因为网络等原因失败过很多次:

《scrapy爬虫报告》
《scrapy爬虫报告》

安装成功!!!
图:

《scrapy爬虫报告》

创建爬虫项目

1.创建一个新的scrapy项目

scrapy startproject quotes

《scrapy爬虫报告》

该命令创建了含有以下内容的quotes目录:

《scrapy爬虫报告》

  • scrapy.cfg: 项目的配置文件
  • quotes/: 该项目的python模块。之后您将在此加入代码。
  • quotes/items.py: 项目中的item文件.
  • quotes/pipelines.py: 项目中的pipelines文件.
  • quotes/settings.py: 项目的设置文件.
  • quotes/spiders/: 放置spider代码的目录.

2. 编写文件quotes.py,然后放在/quotes/spiders/目录下

(我是在本地写的文件,然后将其放在/quotes/spiders/目录下)
coding=utf-8
import scrapy

#定义QuotesSpider类
   class QuotesSpider(scrapy.Spider):
        name = 'mianSpider'
        start_urls = [
        'http://quotes.toscrape.com/'
        ]
#获得热门标签,并callback parse_tags
def parse(self, response):
    for tag_item in response.css('span.tag-item a.tag::attr(href)').extract():
        yield scrapy.Request(response.urljoin(tag_item), callback=self.parse_tags)
#yield热门标签下的名人名言、作者
def parse_tags(self, response):
    for quote in response.css('div.quote'):
        yield {
                 'tag': response.css('h3 a::text').extract(),
                  'text': quote.css('span.text::text').extract_first(),
                 'author': quote.css('small.author::text').extract_first()
              }
#遍历标签下的所有页数
        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_tags)

3. 运行爬虫,将文档存为json

scrapy crawl mianSpider -o quotes.json

(额,其实是在无数次修改后才有了这结果。。。)

图:

《scrapy爬虫报告》

4.将json转化为xml

其实网上有json转为xml的在线工具
本来打算用python来讲json转为xml,python有个python.load()方法可以解析json文件,但是因为json文件格式不太规范,不能直接解析出来,只能用for循环一行行的读出来。然后我就尝试着用正则表达式对读出的字符串进行匹配,转成xml格式,但是由于对正则表达式还不熟悉,失败很多次后还是没有成功,所以还没有得出最后结果。。。。。。
这个是网上在线工具出来的效果:

《scrapy爬虫报告》

已解决,可以直接用scrapy crawl -o quote.xml

    原文作者:周眠眠
    原文地址: https://www.jianshu.com/p/bb10b10e3646
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞