百分百源码网-让建站变得如此简单! 登录 注册 签到领金币!

主页 | 如何升级VIP | TAG标签

当前位置: 主页>网站教程>服务器> Linux安装Python Scrapy并制作爬虫的例子
分享文章到:

Linux安装Python Scrapy并制作爬虫的例子

发布时间:01/15 来源: 浏览: 关键词:
本文章为各位介绍关于 Linux安装Python Scrapy并制作爬虫的例子,有兴趣了解制作爬虫的朋友可以和小编一起来看看吧,希望例子能够对各位带来帮助。


一:安装步骤

sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv 627220E7
 
echo 'deb http://archive.scrapy.org/ubuntu scrapy main' | sudo tee /etc/apt/sources.list.d/scrapy.list
 
sudo apt-get update && sudo apt-get install scrapy-0.25
二:执行完毕后 输入scrapy 不报错即可安装成功,然后输入

scrapy startproject TestMore

会在当前目录建立scrapy文件项目,下面让我们制作一个爬虫抓取网页

以http://www.111cn.net 为例

TestMore/spiders/spider.py

<pre># -*- coding: utf-8 -*-
import scrapy
from scrapy.contrib.spiders import CrawlSpider
from scrapy.http import Request
from scrapy.selector import Selector
from doubanmovie.items import DoubanmovieItem
 
class TestMore(CrawlSpider):
    name = "TestMore"
    redis_key = 'TestMore:start_urls'
    start_urls = ['http://movie.douban.com/top250']
 
    url = 'http://movie.douban.com/top250'
 
    def parse(self,response):
        # print response.body
        item = DoubanmovieItem()
        selector = Selector(response)
        Movies = selector.xpath('//div[@class="info"]')
        for eachMoive in Movies:
            title = eachMoive.xpath('div[@class="hd"]/a/span/text()').extract()
            fullTitle = ''
            for each in title:
                fullTitle += each
            movieInfo = eachMoive.xpath('div[@class="bd"]/p/text()').extract()
            star = eachMoive.xpath('div[@class="bd"]/div[@class="star"]/span/em/text()').extract()[0]
            quote = eachMoive.xpath('div[@class="bd"]/p[@class="quote"]/span/text()').extract()
            #quote可能为空,因此需要先进行判断
            if quote:
                quote = quote[0]
            else:
                quote = ''
            item['title'] = fullTitle
            item['movieInfo'] = ';'.join(movieInfo)
            item['star'] = star
            item['quote'] = quote
            yield item
        nextLink = selector.xpath('//span[@class="next"]/link/@href').extract()
        #page分页
        if nextLink:
            nextLink = nextLink[0]
            print nextLink
            yield Request(self.url + nextLink,callback=self.parse)</pre>

打赏

打赏

取消

感谢您的支持,我会继续努力的!

扫码支持
扫码打赏,你说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

百分百源码网 建议打赏1~10元,土豪随意,感谢您的阅读!

共有9人阅读,期待你的评论!发表评论
昵称: 网址: 验证码: 点击我更换图片
最新评论

本文标签

广告赞助

能出一分力是一分吧!

订阅获得更多模板

本文标签

广告赞助

订阅获得更多模板