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', '')
取得传来的值
最新文章
- Entity Framework教程(第二版)
- Shell入门教程:命令替换 $() 和 ``
- JavaWeb学习之JSP常用标签、EL表达式的运算符、JSTL标签库(6)
- socket.io 入门教程
- Linux C 文件与目录4 将缓冲区数据写入磁盘
- Spring Loaded is a JVM agent for reloading class file changes
- android webview js alert对话框 不能弹出 解决办法
- django中form表单的提交:
- Nginx将通过IP访问重定向
- Hibernate(三)之配置文件详解
- Python Web学习笔记之多道程序设计技术和操作系统的特性
- 我的代码-models
- powershell 删除8天前的日志
- Mysql Binlog三种格式介绍及分析【转】
- .NET 常用ORM之Nbear
- 为什么使用DLL
- 24.类的加载机制和反射.md
- 28335XINTF的简单使用
- Sword websocket分析二
- C语言中交换两个数值的方法