美文网首页
scrapy-5.scrapy其他

scrapy-5.scrapy其他

作者: ddm2014 | 来源:发表于2018-06-21 19:40 被阅读0次

1.scrapy shell
因为我对xpath不太熟,所以这个主要是用于测试crawlspider里的restrict_xpaths=抽取的对不对的
进入是在terminal里输入 scrapy shell "网址"
我比较常用response.xpath('//h3/a')

2.创建项目
创建项目用scrapy startproject 项目名称。但是在windows里会默认创建到安装盘附近,比较难找,我比较推荐,在你想创建的文件夹,比如f盘下,点击红色箭头指的地方,输入cmd,然后在输入scrapy startproject 项目名称,就能在这个文件下创建成功,当然用cd也行。


创建位置

3.模板 scrapy genspider
在创建scrapy项目成功之后,有个提示,这个就是用模板创建spider的意思,按照它的步骤,先cd,然后scrapy genspider example(spider名称,不能跟项目名称重合),example.com,后来都可以改的。


按模板创建spider文件

结果


image.png
文件长这样。就是基础spider的样子。
import scrapy


class DoubancrawlerSpider(scrapy.Spider):
    name = 'doubanCrawler'
    allowed_domains = ['douban.com']
    start_urls = ['http://douban.com/']

    def parse(self, response):
        pass

4.terminal
terminal操作跟别的terminal一样,比较有用的是箭头↑是上一个指令

5.控制爬取数量 scrapy crawl douban -s CLOSESPIDER_ITEMCOUNT

crawlspider可能会出现爬取全站的情况,但是我只想试试爬虫是否可行,命令行输入scrapy crawl douban -s CLOSESPIDER_ITEMCOUNT=90
只爬取90个item

6.start_urls与start_requests()
文档说可以批量导入起始网址,像这样。
也可以自己构建,比如网址比较简单
url ='https://faxian.smzdm.com/p{}/'
urls=[url.format(i) for i in range(1,10)]

def start_requests(self):
    with open(“record.csv”) as f:
        reader = csv.DictReader(f)
        for item in reader:        
            yield scrapy.Request(url=item['url'], callback=self.parse_detail,dont_filter=True)

也可以传入data用于获取post的网址。

class MySpider(scrapy.Spider):
    name = 'myspider'

    def start_requests(self):
        return [scrapy.FormRequest("http://www.example.com/login",
                                   formdata={'user': 'john', 'pass': 'secret'},
                                   callback=self.logged_in)]

    def logged_in(self, response):
        # here you would extract links to follow and return Requests for
        # each of them, with another callback
        pass

相关文章

  • scrapy-5.scrapy其他

    1.scrapy shell因为我对xpath不太熟,所以这个主要是用于测试crawlspider里的restri...

  • 其他都是其他

    最近看到一个新闻报道,有些人沉迷在电视剧中,无法自拔,沉迷于剧中人的颜值,沉迷于剧中人的生活,沉迷于剧中人对待爱人...

  • 其他

    01吃完饭回来的路上看到大一时的英语老师,依然是酷酷的样子,白头发却多了很多。这两年对我来说是沧海桑田,对其他人又...

  • 其他

    如果不想聊時政聊聊愛情也是可以的首先你的荷爾蒙得调高這樣才能體會到愛情之美妙 其次你得遇到一個人比如我這樣的咱倆得...

  • 其他

    ContentProvider相关 涉及到拍照相关的问题可参照此example TakePicAndGallery...

  • 其他

    待这一年的尽头,我们来向后看看,再来写下它们。

  • 其他

    1.数--二叉查找树 2.反向索引 3.傅里叶变换 4.并行算法 5.MapReduce(分布式算法) 映射函数m...

  • 其他

    HydrogenOS 3.0 |XDA |下载 Flyme 6 |下载 Mi-Room |下载

  • 其他

    Git常用命令mac常用命令Linux 常用命令汇总Linux 常用命令0Linux 常用命令1--ls命令

  • 其他

    本网讯(通讯员任智琪 许唯佳)3月28日下午,武汉市东湖新技术开发区疾控中心刘丽、姜丹两位专家应邀在图书馆3号报告...

网友评论

      本文标题:scrapy-5.scrapy其他

      本文链接:https://www.haomeiwen.com/subject/pmmcyftx.html