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中的描述符(descriptor)
Jun 03 Python
在Django同1个页面中的多表单处理详解
Jan 25 Python
python生成式的send()方法(详解)
May 08 Python
python logging日志模块的详解
Oct 29 Python
50行Python代码实现人脸检测功能
Jan 23 Python
Python爬虫爬取新浪微博内容示例【基于代理IP】
Aug 03 Python
python二维码操作:对QRCode和MyQR入门详解
Jun 24 Python
Django如何简单快速实现PUT、DELETE方法
Jul 24 Python
基于Python爬取爱奇艺资源过程解析
Mar 02 Python
Django中使用Celery的方法步骤
Dec 07 Python
利用python实时刷新基金估值(摸鱼小工具)
Sep 15 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
php文件上传表单摘自drupal的代码
2011/02/15 PHP
php设计模式 Factory(工厂模式)
2011/06/26 PHP
php+redis消息队列实现抢购功能
2018/02/08 PHP
JavaScript判断两种格式的输入日期的正确性的代码
2007/03/25 Javascript
教您去掉ie网页加载进度条的方法
2010/12/09 Javascript
JS 实现BASE64_ENCODE和BASE64_DECODE(实例代码)
2013/11/13 Javascript
jquery实现简单的二级导航下拉菜单效果
2015/09/07 Javascript
深入剖析javascript中的exec与match方法
2016/05/18 Javascript
jQuery.Uploadify插件实现带进度条的批量上传功能
2016/06/08 Javascript
第八篇Bootstrap下拉菜单实例代码
2016/06/21 Javascript
js实现图片轮播效果学习笔记
2017/07/26 Javascript
详解基于 axios 的 Vue 项目 http 请求优化
2017/09/04 Javascript
react项目如何使用iconfont的方法步骤
2019/03/13 Javascript
js实现简易点击切换显示或隐藏
2020/11/29 Javascript
[03:03]DOTA2校园争霸赛 济南城市决赛欢乐发奖活动
2013/10/21 DOTA
Python操作MySQL数据库的两种方式实例分析【pymysql和pandas】
2019/03/18 Python
Python3+OpenCV2实现图像的几何变换(平移、镜像、缩放、旋转、仿射)
2019/05/13 Python
python实现查找所有程序的安装信息
2020/02/18 Python
Python更换pip源方法过程解析
2020/05/19 Python
PyTorch: Softmax多分类实战操作
2020/07/07 Python
Python QTimer实现多线程及QSS应用过程解析
2020/07/11 Python
用OpenCV进行年龄和性别检测的实现示例
2021/01/29 Python
css3实现小箭头各种图形效果
2020/07/08 HTML / CSS
全球领先的鞋类零售商:The Walking Company
2016/07/21 全球购物
Jacadi Paris美国官方网站:法国童装品牌
2017/10/15 全球购物
SISLEY希思黎官方旗舰店:享誉全球的奢华植物美容品牌
2018/04/25 全球购物
甲方资料员岗位职责
2013/12/13 职场文书
综合办公室主任职责
2013/12/16 职场文书
公司节能减排方案
2014/05/16 职场文书
放飞梦想演讲稿200字
2014/08/26 职场文书
2014年民警工作总结
2014/11/25 职场文书
大学生村官工作心得体会
2016/01/23 职场文书
八年级作文之感恩
2019/11/22 职场文书
关于mysql中时间日期类型和字符串类型的选择
2021/11/27 MySQL
SpringBoot使用ip2region获取地理位置信息的方法
2022/06/21 Java/Android