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', '')

    取得传来的值

posted @ 2017-07-26 07:25  梦_鱼  阅读(167)  评论(0编辑  收藏  举报