首页 > 其他 > 详细

简单使用scrapy爬虫

时间:2017-01-26 13:58:57      阅读:429      评论:0      收藏:0      [点我收藏+]

1、先在cmd中cd到想要建立项目的目录

2、输入scrapy startproject xxxx(xxxx为自己的项目名)

1 scrapy startproject maopu

3、例如我想要http://www.diediao.com/movie/爬取电影名和电影评分,用谷歌浏览器打开,然后F12,在调试面板中跟踪右边的标签,然后右键copy->xpath

//*[@id="channel-box"]/div[2]/div[1]/ul/li[1]/a,清理一下得到//*[@id="channel-box"]/div/div/ul/li/a,这就是右边所有的a标签。

技术分享

4、在item.py输入自己想要爬取的字段。(电影名和电影评分)

技术分享

 import scrapy
 class MaopuItem(scrapy.Item):
     # define the fields for your item here like:
     # name = scrapy.Field()
     movie_name=scrapy.Field()
     movie_score=scrapy.Field()

5、可以手工在根目录下的spider建立自己的爬虫.py

技术分享

 1 import scrapy
 2 from maopu.items import MaopuItem
 3 class MopSpider(scrapy.Spider):
 4     name=myspider
 5     allowed_domains=[diediao.com]
 6 
 7     start_urls = [
 8         "http://www.diediao.com/movie/",
 9     ]
10 
11     def parse(self, response):
12         for sel in response.xpath(//*[@id="channel-box"]/div/div/ul/li):
13             item=MaopuItem()
14             item[movie_name]=sel.xpath(a/text()).extract()
15             item[movie_score] = sel.xpath(span/text()).extract()
16             print(item)
17             yield item

关于parse,可以先去shell里测试测试:(不熟悉xpath的可以到http://www.w3school.com.cn/xpath/index.asp)

cmd里或者在pycharm下面的terminal中里输入

scrapy shell "http://www.diediao.com/movie/"

>>> response.xpath(‘//*[@id="channel-box"]/div/div/ul/li/a/text()‘).extract()

>>> response.xpath(‘//*[@id="channel-box"]/div/div/ul/li/span/text()‘).extract()

技术分享

测试完后可以输入quit()或则ctrl+z退出

5、执行spider:方法1

cmd里或者在pycharm下面的terminal中里输入(需要cd到项目根目录)

scrapy crawl mySpider

执行spider:方法2

在项目根目录里新建entrypoint.py,在这执行和命令行是一样的效果

技术分享

from scrapy.cmdline import execute
execute([scrapy, crawl, mySpider])

 

简单使用scrapy爬虫

原文:http://www.cnblogs.com/l-eon/p/6351544.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!