Python使用scrapy抓取网站sitemap信息的方法


Posted in Python onApril 08, 2015

本文实例讲述了Python使用scrapy抓取网站sitemap信息的方法。分享给大家供大家参考。具体如下:

import re
from scrapy.spider import BaseSpider
from scrapy import log
from scrapy.utils.response import body_or_str
from scrapy.http import Request
from scrapy.selector import HtmlXPathSelector
class SitemapSpider(BaseSpider):
 name = "SitemapSpider"
 start_urls = ["http://www.domain.com/sitemap.xml"]
 def parse(self, response):
  nodename = 'loc'
  text = body_or_str(response)
  r = re.compile(r"(<%s[\s>])(.*?)(</%s>)"%(nodename,nodename),re.DOTALL)
  for match in r.finditer(text):
   url = match.group(2)
   yield Request(url, callback=self.parse_page)
 def parse_page(self, response):
    hxs = HtmlXPathSelector(response)
    #Mock Item
  blah = Item()
  #Do all your page parsing and selecting the elemtents you want
    blash.divText = hxs.select('//div/text()').extract()[0]
  yield blah

希望本文所述对大家的Python程序设计有所帮助。

Python 相关文章推荐
打开电脑上的QQ的python代码
Feb 10 Python
python数据结构之图的实现方法
Jul 08 Python
在Django的session中使用User对象的方法
Jul 23 Python
详解MySQL数据类型int(M)中M的含义
Nov 20 Python
python中join()方法介绍
Oct 11 Python
Python用Try语句捕获异常的实例方法
Jun 26 Python
python对绑定事件的鼠标、按键的判断实例
Jul 17 Python
django中上传图片分页三级联动效果的实现代码
Aug 30 Python
django 模型中的计算字段实例
May 19 Python
Python实现一个优先级队列的方法
Jul 31 Python
如何通过python实现IOU计算代码实例
Nov 02 Python
Python基础之教你怎么在M1系统上使用pandas
May 08 Python
Python中用format函数格式化字符串的用法
Apr 08 #Python
简单介绍Python中的JSON模块
Apr 08 #Python
Python实现把xml或xsl转换为html格式
Apr 08 #Python
Python正则表达式匹配HTML页面编码
Apr 08 #Python
在Python中关于中文编码问题的处理建议
Apr 08 #Python
Python脚本实现格式化css文件
Apr 08 #Python
Python实现获取操作系统版本信息方法
Apr 08 #Python
You might like
星际争霸中的对战模式介绍
2020/03/04 星际争霸
php修改时间格式的代码
2011/05/29 PHP
PHP获取http请求的头信息实现步骤
2012/12/16 PHP
destoon二次开发入门示例
2014/06/20 PHP
修改WordPress中文章编辑器的样式的方法详解
2015/12/15 PHP
PHP获取IP地址所在地信息的实例(使用纯真IP数据库qqwry.dat)
2016/11/15 PHP
PHP高效获取远程图片尺寸和大小的实现方法
2017/10/20 PHP
详解PHP文件的自动加载(autoloading)
2018/02/04 PHP
php格式文件打开的四种方法
2018/02/24 PHP
Laravel 队列使用的实现
2019/01/08 PHP
JavaScript 学习笔记(十六) js事件
2010/02/01 Javascript
js创建对象的方式总结
2015/01/10 Javascript
JS+CSS实现带关闭按钮DIV弹出窗口的方法
2015/02/27 Javascript
JS显示表格内指定行html代码的方法
2015/03/31 Javascript
阿里巴巴技术文章分享 Javascript继承机制的实现
2016/01/14 Javascript
jQuery Easyui 验证两次密码输入是否相等
2016/05/13 Javascript
vue2.0中vue-cli实现全选、单选计算总价格的实例代码
2017/07/18 Javascript
利用纯JS实现像素逐渐显示的方法示例
2017/08/14 Javascript
浅谈实现vue2.0响应式的基本思路
2018/02/13 Javascript
vue 做移动端微信公众号采坑经验记录
2018/04/26 Javascript
[05:05]第三天的dota2
2013/07/29 DOTA
分析用Python脚本关闭文件操作的机制
2015/06/28 Python
python3.5使用tkinter制作记事本
2016/06/20 Python
Python3.0中普通方法、类方法和静态方法的比较
2019/05/03 Python
Python全栈之列表数据类型详解
2019/10/01 Python
Python 使用type来定义类的实现
2019/11/19 Python
pytorch 准备、训练和测试自己的图片数据的方法
2020/01/10 Python
python 中的命名空间,你真的了解吗?
2020/08/19 Python
解决python3中os.popen()出错的问题
2020/11/19 Python
python绘图pyecharts+pandas的使用详解
2020/12/13 Python
化学专业毕业生自荐信
2013/11/15 职场文书
中式结婚主持词
2014/03/14 职场文书
护士个人自我鉴定
2014/03/24 职场文书
行政内勤岗位职责
2014/04/07 职场文书
股权转让协议书范本
2014/04/12 职场文书
2016银行招聘自荐信
2016/01/28 职场文书