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

    取得传来的值

转载于:https://www.cnblogs.com/2bjiujiu/p/7237435.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值