当前位置:首页 > Python教程 > python技巧

第三百四十一节,Python分布式爬虫打造搜索引擎Scrapy精讲—编写spiders爬虫文件循环抓取内容—

第三百四十一节,Python分布式爬虫打造搜索引擎Scrapy精讲—编写spiders爬虫文件循环抓取内容—

 

编写spiders爬虫文件循环抓取内容

Request()方法,将指定的url地址添加到下载器下载页面,两个必须参数,
  参数:
  url=‘url‘
  callback=页面处理函数
  使用时需要yield Request()

 

parse.urljoin()方法,是urllib库下的方法,是自动url拼接,如果第二个参数的url地址是相对路径会自动与第一个参数拼接

            #
             -*- coding: utf-8 -*-
            import
             scrapy

            
                from scrapy.http import Request
            #
            导入url返回给下载器的方法
            
                from urllib import parse
            #
            导入urllib库里的parse模块
            class
             PachSpider(scrapy.Spider):
    name = pach
    allowed_domains = [blog.jobbole.com]                  #起始域名
    start_urls = [http://blog.jobbole.com/all-posts/]     #起始urldef parse(self, response):
        """
        获取列表页的文章url地址,交给下载器
        """#获取当前页文章url
        lb_url = response.xpath(//a[@class="archive-title"]/@href).extract()  #获取文章列表urlfor i in lb_url:
            # print(parse.urljoin(response.url,i))                                             #urllib库里的parse模块的urljoin()方法,是自动url拼接,如果第二个参数的url地址是相对路径会自动与第一个参数拼接yield Request(url=parse.urljoin(response.url, i), callback=self.parse_wzhang)#将循环到的文章url添加给下载器,下载后交给parse_wzhang回调函数#获取下一页列表url,交给下载器,返回给parse函数循环
        x_lb_url = response.xpath(//a[@class="next page-numbers"]/@href).extract()         #获取下一页文章列表urlif x_lb_url:
            yield Request(url=parse.urljoin(response.url, x_lb_url[0]), callback=self.parse)#获取到下一页url返回给下载器,回调给parse函数循环进行def parse_wzhang(self,response):
        title = response.xpath(//div[@class="entry-header"]/h1/text()).extract()           #获取文章标题print(title)

技术分享

 

原文:http://www.cnblogs.com/adc8868/p/7286409.html


【说明】本文章由站长整理发布,文章内容不代表本站观点,如文中有侵权行为,请与本站客服联系(QQ:254677821)!

相关教程推荐

其他课程推荐