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 ''

相关文章推荐

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

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

XPATH(lxml)爬虫测试

# encoding=utf-8 注释可用中文 from lxml import etree import requests import sys headersIm = {'User-A...

关于scrapy网络爬虫的xpath书写经验总结

借助于scapy的爬虫框架,能方便实现低网络数据的爬取,其中xpath如何写法,对元素的定位在爬取过程中起着至关重要的作用。以下是对xpath写法的一些经验: (1)优先遵循“自底向上”原则,即从所...

python3 [入门基础实战] 爬虫入门之xpath的学习

Xpath Xpath全程为xml路径语言,用来确定xml文档中某部分位置的语言。 使用Xpath需要安装lxml库,lxml为Python的第三方库,安装方法可以直接下载库文件手动添加到pyth...

XPath与多线程爬虫学习

XPath与多线程爬虫学习什么是XPath XPath是一门语言 XPath可以在XML文档中查找信息 XPath支持HTML XPath通过元素和属性进行导航 XPath可以用来提取信息 XPath...

python爬虫之xpath

python爬虫之xpath XPath是一门语言 XPath可以在xml文件中查找信息 XPath支持HTML XPath通过元素和属性进行导行 XPath比正则表达式厉害,简单 XPath使用要使...

pyhton爬虫(9)——使用XPath提取网页信息

1. XPath基础1.1 什么是XPath?XPath 是一门在 XML 文档中查找信息(节点)的语言。XPath 可用来在 XML 文档中对元素和属性进行遍历。1.2 节点节点是XML文档中最小构...

python3 [入门基础实战] 爬虫入门之xpath爬取脚本之家python栏目

这次爬取的确实有些坎坷,经过了两个晚上吧,最后一个晚上还是爬取数据到最后一公里了,突然报错了。又得继续重新进行爬取先来个爬取结果图,这次爬取的是标题,url,还有日期,估计也就只有这么多内容,用的单线...

爬虫解析1:XPath总结

XPATH教程   1、加载 XML 文档 所有现代浏览器都支持使用 XMLHttpRequest 来加载 XML 文档的方法。 针对大多数现代浏览器的代码: var xmlhttp=new...
  • cbjcry
  • cbjcry
  • 2017年04月13日 11:19
  • 1157

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

搬运自本人博客:http://www.xgezhang.com/xpath_helper.html 每一个写爬虫、或者是做网页分析的人,相信都会因为在定位、获取xpath路径上花费大量的时间...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:xpath爬虫小例
举报原因:
原因补充:

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