美文网首页
通用爬虫

通用爬虫

作者: 唐朝集团 | 来源:发表于2018-12-09 19:15 被阅读0次

    link_extractor是一个Link Extractor对象,用于定义需要提取的链接
    callback从link_extractor中每获取到链接得到Responses时,会调用参数所指定的值作为回调函数,该回调函数接收一个response作为其一个参数
    follow是一个布尔(boolean)值,指定了根据该规则从response提取的链接是否需要跟进(这里的跟进是指是否除了当前页面继续爬取)
    process_links指定spider中哪个的函数将会被调用,从link_extractor中获取到链接列表时将会调用该函数。该方法主要用来过滤
    process_request指定处理函数,根据该Rule提取到的每个Request时,该函数将会被调用,可以对Request进行处理,该函数必须返回Request或者None
    LinkExtractors 是用来提取链接,这是一个正则表达式根据正则表达式进行匹配,如果为空则会匹配所有的链接
    allowed_domains = ['××××××']这里写到的是允许爬取的域
    start_urls = ['×××××××××××××××××××××']这里写的是爬取的起始的url
    callback是设置回调函数解析数据用的
    follow设置的是否跟进
    settings设置
    ROBOTSTXT_OBEY = False 设置为false表示不遵守robot规则,如果设置为true则表示遵守robot
    DOWNLOAD_DELAY = 3表示设置下载延迟
    设置全局的Header:DEFAULT_REQUEST_HEADERS = {
    '××××××××××××××××××××××××××××××××××××××××××××',
    }这里设置的是全局的UA
    ITEM_PIPELINES = {
    '×××××××××××××××××××××××××××××××××,
    }这里是激活pipelines数据处理管道
    第二个方式:
    编写main.py文件执行
    以下举个栗子
    import os,sys
    from scrapy.cmdline import execute

    sys.path.append(o由于CrawlSpider使用parse方法来实现其逻辑,如果覆盖了 parse方法,crawl spider将会运行失败s.path.dirname(os.path.abspath(file)))
    execute(['scrapy','crawl','xcfcrawlspider'])

    提取匹配的链接

    page_lx = LinkExtractor(allow = ('匹配规则'))

    rules = [
    提取匹配,并使用spider的parse方法进行分析;并跟进链接没有callback意味着follow默认为True
    Rule(page_lx, callback = 'parse', follow = True)
    ]
    记住 callback 千万不能写 parse,由于CrawlSpider使用parse方法来实现其逻辑,如果覆盖了 parse方法,crawl spider将会运行失败

    相关文章

      网友评论

          本文标题:通用爬虫

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