zoukankan      html  css  js  c++  java
  • scrapy_简介页面和详情页面

    如何对提取的URL进行限定?

           往上找id和class属性值,进行多次层级选择,进行内容限定

    如何实现获取主页所有urls,然后交给scrapy下载后并解析详情页面,返回结果?(文章简介页面和文章详细页面)

    #!/usr/bin/python3
    
    form scrapy.http import Request
    main_urls = response.css()                              # 获取主页面url单独在paser函数中
    for chird_url in main_urls:                              # 从主页面中获取单个chird_url
          yield Request(url=child_url,callback=self.child_handle)    
          
    # Request去下载chird_url,并通过回调函数把下载好的页面给self.child_handle去解析处理
    # self.child_handle 为具体页面进行提取值,没有括号,调用twisted框架
    next_url = response.css()
    yield Request(url=next_url,callback=self.parse)

    如何实现当前页面href的值为不完全域名,获得完整域名?

     from urllib import parse
     url = parse.urljoin(response.url, response.urll)            # reponse.url获取当前访问的url

    如何把主页面获取的值传给子页面的解析函数?

    yield Request(url=parse.urljoin(response.url, child_url), meta={'img_url': img_url}, callback=self.child_page)

           通过meta进行传值,字典形式

           在子解析函数,通过

    response.meta.get('img_url', '')

        取得传来的值

  • 相关阅读:
    APICloud学习笔记之Click事件优化
    APICloud学习笔记之doT模板
    APICloud学习笔记之上拉加载
    APICloud学习笔记之下拉刷新
    5. JavaScript 正则表达式
    4. JavaScript 控制语句
    3. JavaScript 数据类型
    2. 语法
    1.开篇
    C++内存申请容易产生的错误
  • 原文地址:https://www.cnblogs.com/2bjiujiu/p/7237435.html
Copyright © 2011-2022 走看看