Python 网络爬虫5 ---- 第一次实现抓取数据并且存放到mysql数据库中

1 如果没有看过scrapy的朋友,可以到scrapy的官网看一下再来看这篇文章       2 创建一个scrapy的项目,请看http://blog.csdn.net/chenguolinblog/article/details/19699865   3 下面我们就一个一个文件的来分析,最后我会给出GitHub上面的源码  (1)第一个文件 spidr.py,这个文
摘要由CSDN通过智能技术生成
 1 如果没有看过scrapy的朋友,可以到scrapy的官网看一下再来看这篇文章

    

   2 创建一个scrapy的项目,请看http://blog.csdn.net/chenguolinblog/article/details/19699865


   3 下面我们就一个一个文件的来分析,最后我会给出GitHub上面的源码

  

(1)第一个文件 spidr.py,这个文件的作用就是我们自己定义的蜘蛛,用来爬取网页的,具体看以下的注释

  1. __author__ = 'chenguolin'  
  2. """ 
  3. Date: 2014-03-06 
  4. """  
  5.   
  6. from scrapy.contrib.linkextractors.sgml import SgmlLinkExtractor  
  7. from scrapy.contrib.spiders import CrawlSpider, Rule        #这个是预定义的蜘蛛,使用它可以自定义爬取链接的规则rule   
  8. from scrapy.selector import HtmlXPathSelector               #导入HtmlXPathSelector进行解析   
  9. from firstScrapy.items import FirstscrapyItem  
  10.   
  11. class firstScrapy(CrawlSpider):  
  12.     name = "firstScrapy"                                    #爬虫的名字要唯一   
  13.     allowed_domains = ["yuedu.baidu.com"]                   #运行爬取的网页   
  14.     start_urls = ["http://yuedu.baidu.com/book/list/0?od=0&show=1&pn=0"]   #第一个爬取的网页   
  15.     #以下定义了两个规则,第一个是当前要解析的网页,回调函数是myparse;第二个则是抓取到下一页链接的时候,不需要回调直接跳转   
  16.     rules = [Rule(SgmlLinkExtractor(allow=('/ebook/[^/]+fr=booklist')), callback='myparse'),  
  17.              Rule(SgmlLinkExtractor(allow=('/book/list/[^/]+pn=[^/]+', )), follow=True)]  
  18.   
  19.     #回调函数   
  20.     def myparse(self, response):  
  21.         x = HtmlXPathSelector(response)  
  22.         item = FirstscrapyItem()  
  23.   
  24.         # get item   
  25.         item['link'] = response.url  
  26.         item['title'] = ""  
  27.         strlist = x.select("//h1/@title").extract()  
  28.         if len(strlist) > 0:  
  29.             item['title'] = strlist[0]  
  30.         # return the item   
  31.         return item  
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值