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中的hashlib和base64加密模块使用实例
Sep 02 Python
使用python开发vim插件及心得分享
Nov 04 Python
使用IPython来操作Docker容器的入门指引
Apr 08 Python
python创建临时文件夹的方法
Jul 06 Python
浅谈Python类里的__init__方法函数,Python类的构造函数
Dec 10 Python
Python使用Dijkstra算法实现求解图中最短路径距离问题详解
May 16 Python
Python 运行 shell 获取输出结果的实例
Jan 07 Python
如何用Python来理一理红楼梦里的那些关系
Aug 14 Python
python getpass实现密文实例详解
Sep 24 Python
python字符串格式化方式解析
Oct 19 Python
pygame实现俄罗斯方块游戏(基础篇2)
Oct 29 Python
如何解决python多种版本冲突问题
Oct 13 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
thinkPHP5框架闭包函数与子查询传参用法示例
2018/08/02 PHP
Android中资源文件(非代码部分)的使用概览
2012/12/18 Javascript
javascript 全选与全取消功能的实现代码
2012/12/23 Javascript
基于JavaScript实现 获取鼠标点击位置坐标的方法
2013/04/12 Javascript
jquery Deferred 快速解决异步回调的问题
2016/04/05 Javascript
分享两段简单的JS代码防止SQL注入
2016/04/12 Javascript
KnockoutJS 3.X API 第四章之表单submit、enable、disable绑定
2016/10/10 Javascript
Vue 换肤的示例实践
2018/01/23 Javascript
浅谈React中组件间抽象
2018/01/27 Javascript
详解vue通过NGINX部署在子目录或者二级目录实践
2018/09/03 Javascript
JS回调函数深入理解
2019/10/16 Javascript
vue 子组件修改data或调用操作
2020/08/07 Javascript
js实现淘宝浏览商品放大镜功能
2020/10/28 Javascript
Node快速切换版本、版本回退(降级)、版本更新(升级)
2021/01/07 Javascript
vue-video-player 断点续播的实现
2021/02/01 Vue.js
[39:02]DOTA2亚洲邀请赛 3.31 小组赛 B组 Mineski vs VGJ.T
2018/04/01 DOTA
Python利用ElementTree模块处理XML的方法详解
2017/08/31 Python
基于python的字节编译详解
2017/09/20 Python
使用Python通过win32 COM打开Excel并添加Sheet的方法
2018/05/02 Python
Python3非对称加密算法RSA实例详解
2018/12/06 Python
Python IDLE或shell中切换路径的操作
2020/03/09 Python
html5 canvas 画图教程案例分析
2012/11/23 HTML / CSS
飞利浦法国官网:Philips法国
2019/07/10 全球购物
如何在Cookie里面保存Unicode和国际化字符
2013/05/25 面试题
化学相关工作求职信
2013/10/02 职场文书
护理自荐信
2013/10/22 职场文书
求职信怎么写范文
2014/05/26 职场文书
工会优秀工作者事迹
2014/08/17 职场文书
作弊检讨书
2015/01/27 职场文书
借款民事起诉状范文
2015/05/19 职场文书
教师反邪教心得体会
2016/01/15 职场文书
解决go在函数退出后子协程的退出问题
2021/04/30 Golang
python实现简单的聊天小程序
2021/07/07 Python
SpringBoot整合Minio文件存储
2022/04/03 Java/Android
MySQL数据库如何使用Shell进行连接
2022/04/12 MySQL
Python采集壁纸并实现炫轮播
2022/04/30 Python