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类型强制转换long to int的代码
Feb 10 Python
Python中__init__和__new__的区别详解
Jul 09 Python
python下MySQLdb用法实例分析
Jun 08 Python
用Python写冒泡排序代码
Apr 12 Python
Flask框架的学习指南之开发环境搭建
Nov 20 Python
Python实现一个Git日志统计分析的小工具
Dec 14 Python
python与sqlite3实现解密chrome cookie实例代码
Jan 20 Python
python-opencv 将连续图片写成视频格式的方法
Jan 08 Python
用python一行代码得到数组中某个元素的个数方法
Jan 28 Python
Django 请求Request的具体使用方法
Nov 11 Python
Matplotlib.pyplot 三维绘图的实现示例
Jul 28 Python
Python Pandas读取Excel日期数据的异常处理方法
Feb 28 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 批量替换html标签的实例代码
2013/11/26 PHP
PHP实现QQ登录的开原理和实现过程
2018/02/04 PHP
PHP使用curl_multi实现并发请求的方法示例
2018/04/29 PHP
Javascript的IE和Firefox兼容性汇编
2006/07/01 Javascript
js jquery做的图片连续滚动代码
2008/01/06 Javascript
基于json的jquery地区联动效果代码
2011/07/06 Javascript
js限制textarea每行输入字符串长度的代码
2012/10/31 Javascript
Javascript中设置默认参数值示例
2014/09/11 Javascript
JavaScript实现网页截图功能
2014/10/16 Javascript
Js为表单动态添加节点内容的方法
2015/02/10 Javascript
JS+CSS实现的竖向简洁折叠菜单效果代码
2015/10/22 Javascript
Vue.js计算属性computed与watch(5)
2016/12/09 Javascript
Angular2入门教程之模块和组件详解
2017/05/28 Javascript
全选复选框JavaScript编写小结(附代码)
2017/08/16 Javascript
bootstrap select下拉搜索插件使用方法详解
2017/11/23 Javascript
详解VUE 对element-ui中的ElTableColumn扩展
2018/03/28 Javascript
js实现左右轮播图
2020/01/09 Javascript
jQuery操作元素的内容和样式完整实例分析
2020/01/10 jQuery
Vue使用轮询定时发送请求代码
2020/08/10 Javascript
nodeJs项目在阿里云的简单部署
2020/11/27 NodeJs
[02:36]DOTA2上海特锦赛 回忆电竞生涯的重要瞬间
2016/03/25 DOTA
Python使用smtplib模块发送电子邮件的流程详解
2016/06/27 Python
Python连接SQLServer2000的方法详解
2017/04/19 Python
Python中使用支持向量机SVM实践
2017/12/27 Python
python实现操作文件(文件夹)
2019/10/31 Python
Python遍历字典方式就实例详解
2019/12/28 Python
python使用pymongo与MongoDB基本交互操作示例
2020/04/09 Python
利用django创建一个简易的博客网站的示例
2020/09/29 Python
详解使用双缓存解决Canvas clearRect引起的闪屏问题
2019/04/29 HTML / CSS
Noon埃及:埃及在线购物
2019/11/26 全球购物
本科生详细的自我评价
2013/09/19 职场文书
工程造价专业大专生求职信
2013/10/06 职场文书
一年级学生期末评语
2014/04/21 职场文书
2015年党风廉政建设工作总结
2015/04/09 职场文书
小学德育工作总结2015
2015/05/12 职场文书
Python采集壁纸并实现炫轮播
2022/04/30 Python