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中多线程的创建及基本调用方法
Jul 08 Python
对Python进行数据分析_关于Package的安装问题
May 22 Python
Python使用smtp和pop简单收发邮件完整实例
Jan 09 Python
Python二进制串转换为通用字符串的方法
Jul 23 Python
padas 生成excel 增加sheet表的实例
Dec 11 Python
pandas DataFrame行或列的删除方法的实现示例
Aug 02 Python
简单介绍python封装的基本知识
Aug 10 Python
Pytorch抽取网络层的Feature Map(Vgg)实例
Aug 20 Python
Python中断多重循环的思路总结
Oct 04 Python
Python爬虫实现HTTP网络请求多种实现方式
Jun 19 Python
如何卸载python插件
Jul 08 Python
pytorch中的model.eval()和BN层的使用
May 22 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
杏林同学录(七)
2006/10/09 PHP
数据库的日期格式转换
2006/10/09 PHP
php设计模式 Singleton(单例模式)
2011/06/26 PHP
PHP按行读取文件时删除换行符的3种方法
2014/05/04 PHP
AJAX的使用方法详解
2017/04/29 PHP
PHP微信开发之微信录音临时转永久存储
2018/01/26 PHP
php 与 nginx 的处理方式及nginx与php-fpm通信的两种方式
2018/09/28 PHP
PHP Cli 模式设置进程名称的方法
2019/06/12 PHP
Laravel5.5 视图 - 创建视图和数据传递示例
2019/10/21 PHP
从零开始学习jQuery (二) 万能的选择器
2010/10/01 Javascript
js常用代码段整理
2011/11/30 Javascript
JavaScript中for循环的使用详解
2015/06/03 Javascript
Nodejs高扩展性的模板引擎 functmpl简介
2017/02/13 NodeJs
简单实现AngularJS轮播图效果
2020/04/10 Javascript
微信小程序如何获取用户手机号
2018/01/26 Javascript
在Create React App中启用Sass和Less的方法示例
2019/01/16 Javascript
layer.prompt使文本框为空的情况下也能点击确定的方法
2019/09/24 Javascript
聊聊Vue中provide/inject的应用详解
2019/11/10 Javascript
[11:42]2018DOTA2国际邀请赛寻真——OG卷土重来
2018/08/17 DOTA
python对指定目录下文件进行批量重命名的方法
2015/04/18 Python
python获取网页中所有图片并筛选指定分辨率的方法
2018/03/31 Python
Redis使用watch完成秒杀抢购功能的代码
2018/05/07 Python
对python的unittest架构公共参数token提取方法详解
2018/12/17 Python
selenium python 实现基本自动化测试的示例代码
2019/02/25 Python
详解PyQt5信号与槽的几种高级玩法
2020/03/24 Python
HTML5之tabindex属性全面解析
2016/07/07 HTML / CSS
德国街头和运动文化高品质商店:BSTN Store
2017/08/26 全球购物
Ticketmaster意大利:音乐会、节日、艺术和剧院的官方门票
2019/12/23 全球购物
儿科主治医生个人求职信
2013/09/23 职场文书
公司营业员的工作总结自我评价
2013/10/05 职场文书
会计出纳岗位职责
2013/12/25 职场文书
物流管理专业毕业生自荐信
2014/03/04 职场文书
十佳护士先进事迹
2014/05/08 职场文书
2014年小学数学工作总结
2014/12/12 职场文书
湘江北去观后感
2015/06/15 职场文书
初级职称评定工作总结
2015/08/13 职场文书