xpath爬虫小例

原创 2015年11月18日 09:52:32

刚刚接触爬虫,马上用xpath对最近很关注的我的手机安卓6.0rom消息和某论坛当天新帖进行爬取。应该算是我第一个真正意义上的爬虫代码了,很简短。

  • 电脑系统:win10旗舰版
  • 运行环境:python2.7.10+pycharm5.0.1
  • 实现功能:定向爬虫
#-*-coding:utf-8-*-
from lxml import etree
import requests

def spider_ROM(url):  
    html = requests.get(url)
    selector = etree.HTML(html.text)
    # name = selector.xpath('//body/div[2]/div[3]/div/div[2]/div/ul/li/h4/a/text()')
    name = selector.xpath('//*[@class="list-group files"]/li/h4/a/text()')
    size = selector.xpath('//*[@class="list-group files"]/li/p/span[@class="info"]/text()')
    date = selector.xpath('//*[@class="list-group files"]/li/p/span[@class="date"]/text()')
    i = 0
    for each in name:
        print each
        print date[i]+' ',
        if i==3:
            print size[i]
        else:
            print size[i] + '\n'
        i = i + 1
    print url+'\n'

def spider_Jifeng(url):
    html = requests.get(url)
    selector = etree.HTML(html.text)
    content_field = selector.xpath('//*[starts-with(@id,"normalthread")]/tr')
    for each in content_field:
        pre_title = each.xpath('th/em/a/text()')
        if pre_title:
            pre_title = pre_title[0]
        else:
            pre_title = each.xpath('th/em/a/font/text()')[0]
        title = each.xpath('th/a/text()')[0]
        time = each.xpath('td[2]/em/span/font/span/text()')
        if time:
            time = time[0]
        else:
            time = each.xpath('td[2]/em/span/span/text()')[0]
        #实现只显示今天的帖子
        if each.xpath('td[2]/em/span/font/@color')[0] == '#0000FF':
            break
        print time.replace(u'\xa0', u'') +'   ',u'【'+pre_title+u'】',title.replace(' ','')
    print url

if __name__ == '__main__':
    url_rom = 'https://www.androidfilehost.com/?w=search&s=d802'
    url_jifeng = 'http://bbs.gfan.com/forum.php?mod=forumdisplay&fid=1345&filter=author&orderby=dateline'
    print ''
    print ''
    print u'                   |【LG G2 安卓6.0rom 消息更新】|'
    spider_ROM(url_rom)
    print ''
    print u'                 |【机锋论坛 LG G2 今日 新帖汇总更新】|'
    spider_Jifeng(url_jifeng)
    print ''
    print ''

Python爬虫学习笔记(3)-XPath与多线程爬虫

Python爬虫学习笔记(3)-XPath与多线程爬虫标签(空格分隔): python 多线程 爬虫...
  • SkyeyesXY
  • SkyeyesXY
  • 2016年03月09日 19:35
  • 3533

xpath: Python网页爬虫定位辅助利器

网页爬虫可以使用Python的正则模块(re), 当然我今天要隆重推荐的是xpath. xpath需要安装xpath的基础包:lxml 首先看一个例子:(爬取果壳的最新推荐文章列表) impor...
  • wenkang314
  • wenkang314
  • 2015年09月07日 15:42
  • 1937

python爬虫入门笔记:XPath与lxml库

lxml库是一个比较流行的解析库,使用的是XPath语法,效率比较高的解析方法。 主要学习资料是极客学院的定向爬虫、w3school​。 XPath简介:XPath 是一门在 XML ...
  • flyingfishmark
  • flyingfishmark
  • 2016年04月28日 10:44
  • 3563

XPath Helper:chrome爬虫网页解析工具 Chrome插件图文教程

最近在学习使用scrapy框架开发python爬虫程序,使用到xpath获取URL路径。由于HTML中的标签太多,在找xpath的路径时总是费半天劲,有时还容易出错,造成时间和精力的浪费。今天在看一篇...
  • love666666shen
  • love666666shen
  • 2017年05月21日 20:46
  • 4258

爬虫、网页分析解析辅助工具 Xpath-helper

搬运自本人博客:http://www.xgezhang.com/xpath_helper.html 每一个写爬虫、或者是做网页分析的人,相信都会因为在定位、获取xpath路径上花费大量的时间...
  • u014237185
  • u014237185
  • 2015年08月16日 17:39
  • 6292

python爬虫里信息提取的核心方法: Beautifulsoup、Xpath和正则表达式

20170531 这几天重新拾起了爬虫,算起来有将近5个月不碰python爬虫了。 对照着网上的程序和自己以前写的抓图的程序进行了重写,发现了很多问题。总结和归纳和提高学习效果的有效手段,...
  • LINGOJAMES
  • LINGOJAMES
  • 2017年06月01日 22:33
  • 3271

Python爬虫知识(3)—— xpath 选择器

  • HeatDeath
  • HeatDeath
  • 2017年07月29日 22:55
  • 1542

爬虫系列3:scrapy技术进阶(xpath、rules、shell等)

本文主要介绍与scrapy应用紧密相关的关键技术,不求很深入,但求能够提取要点。内容包括: 1、xpath选择器:选择页面中想要的内容 2、rules规则:定义爬虫要爬取的域 3、scrapy she...
  • elecjack
  • elecjack
  • 2016年06月08日 16:32
  • 8309

Python爬虫:Xpath语法笔记

Python爬虫:Xpath语法笔记 一、选取节点 常用的路劲表达式: 表达式 描述 实例   nodename 选取nod...
  • dogpig945
  • dogpig945
  • 2017年07月05日 16:49
  • 214

Python爬虫:Xpath语法笔记【转载】

一、选取节点 常用的路劲表达式: 表达式 描述 实例   nodename 选取nodename节点的所有子节点 xpath(‘//div’) 选取了div节点的...
  • kangqianglong
  • kangqianglong
  • 2016年10月28日 10:50
  • 121
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:xpath爬虫小例
举报原因:
原因补充:

(最多只允许输入30个字)