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 相关文章推荐
编程语言Python的发展史
Sep 26 Python
100行Python代码实现自动抢火车票(附源码)
Jan 11 Python
Python3中关于cookie的创建与保存
Oct 21 Python
配置 Pycharm 默认 Test runner 的图文教程
Nov 30 Python
Python列表list排列组合操作示例
Dec 18 Python
Python Matplotlib库安装与基本作图示例
Jan 09 Python
python实现词法分析器
Jan 31 Python
Python数据处理篇之Sympy系列(五)---解方程
Oct 12 Python
wxPython实现带颜色的进度条
Nov 19 Python
基于YUV 数据格式详解及python实现方式
Dec 09 Python
Python基于Dlib的人脸识别系统的实现
Feb 26 Python
Python insert() / append() 用法 Leetcode实战演示
Mar 31 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
PHP Zip压缩 在线对文件进行压缩的函数
2010/05/26 PHP
完美解决令人抓狂的zend studio 7代码提示(content Assist)速度慢的问题
2013/06/20 PHP
smarty模板引擎中内建函数if、elseif和else的使用方法
2015/01/22 PHP
php中动态调用函数的方法
2015/03/16 PHP
PHP实现浏览器格式化显示XML的方法示例
2019/01/22 PHP
php实现大文件断点续传下载实例代码
2019/10/01 PHP
javascript实现仿银行密码输入框效果的代码
2007/12/13 Javascript
点击下载链接 弹出页面实现代码
2009/10/01 Javascript
js使用for循环查询数组中是否存在某个值
2014/08/12 Javascript
jQuery垂直多级导航菜单代码分享
2015/08/18 Javascript
JS实现根据用户输入分钟进行倒计时功能
2016/11/14 Javascript
JavaScript 中调用 Kotlin 方法实例详解
2017/06/09 Javascript
最实用的JS数组函数整理
2017/12/05 Javascript
Javascript网页抢红包外挂实现分享
2018/01/11 Javascript
Vue 开发音乐播放器之歌手页右侧快速入口功能
2018/08/08 Javascript
layui 表格的属性的显示转换方法
2018/08/14 Javascript
创建echart多个联动的示例代码
2018/11/23 Javascript
原生js+canvas实现验证码
2020/11/29 Javascript
Python异常处理总结
2014/08/15 Python
python数据结构之图的实现方法
2015/07/08 Python
在Python的Django框架中显示对象子集的方法
2015/07/21 Python
详解Python Socket网络编程
2016/01/05 Python
python通过getopt模块如何获取执行的命令参数详解
2017/12/29 Python
python中使用.py配置文件的方法详解
2020/11/23 Python
python 实现网易邮箱邮件阅读和删除的辅助小脚本
2021/03/01 Python
25个CSS3动画按钮和菜单教程分享
2012/10/03 HTML / CSS
HTML5不支持frameset的两种解决方法
2016/11/14 HTML / CSS
英国景点门票网站:attractiontix
2019/08/27 全球购物
Visual-Click葡萄牙:欧洲领先的在线眼镜商
2020/02/17 全球购物
什么是事务?为什么需要事务?
2012/01/09 面试题
物业总经理助理岗位职责
2014/06/29 职场文书
职业生涯规划书怎么写?
2014/09/14 职场文书
党员批评与自我批评思想汇报(集锦)
2014/09/14 职场文书
司考复习计划
2015/01/19 职场文书
拾金不昧感谢信范文
2015/01/21 职场文书
干货分享:推荐信写作技巧!
2019/06/21 职场文书