如何对提取的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', '')
取得传来的值