zoukankan      html  css  js  c++  java
  • python爬虫(十四)

    
    
    1、获取所有的span标签
    from lxml import etree
    
    parser=etree.HTMLParser(encoding='utf-8')
    html=etree.parse("tencent.html",parser=parser)
    
    # 1、获取所有的span标签
    # //span
    # xpath返回的是一个列表
    spans=html.xpath("//span")
    for span in spans:
        print(etree.tostring(span, encoding='utf-8').decode('utf-8'))
    
    

    2、获取第二个span标签
    # 2、获取第二个span标签
    # //span[2]
    
    spans=html.xpath("//span[2]")
    for span in spans:
        print(etree.tostring(span,encoding='utf-8').decode('utf-8'))

     

    3、获得class等于share的span标签
    # 3、获得class等于share的span标签
    # //span[@class="share"]
    
    spans=html.xpath("//span[@class='share']")
    for span in spans:
        print(etree.tostring(span,encoding='utf-8').decode('utf-8'))

    结果为列表的形式:

     

     4、获取所有div标签下,id的值

    # 4、获取所有div标签下,id的值
    # //div/@id
    # 因为id的值就是字符串形式,所有就不用tostring了
    divs=html.xpath("//div/@id")
    for div in divs:
        print(div)
    
    

     5、获取html里面的纯文本

    # 5html里面的文本
    # 一般不要第一span,第一span一般为标题第二span始,先取第二span文本,然后把第二span里面得组装成一字典,然后把些字典放入列表

    divs=html.xpath("//div/div/div/div")
    positions=[]
    for div in divs:
    try:
    title=div.xpath(".//h4/text()")[0]
    address=div.xpath(".//span[3]/text()")[0]
    jishu=div.xpath(".//span[5]/text()")[0]
    time=div.xpath(".//span[9]/text()")[0]
    recruittext=div.xpath(".//p[2]/text()")[0]

    # print(address)
    position={
    'title':title,
    'address':address,
    'jishu':jishu,
    'time':time,
    'recruittext':recruittext
    }


    positions.append(position)
    print(positions)
    except IndexError:
    pass

    结果:

  • 相关阅读:
    BZOJ 3506 机械排序臂 splay
    BZOJ 2843 LCT
    BZOJ 3669 魔法森林
    BZOJ 2049 LCT
    BZOJ 3223 文艺平衡树 splay
    BZOJ 1433 假期的宿舍 二分图匹配
    BZOJ 1051 受欢迎的牛 强连通块
    BZOJ 1503 郁闷的出纳员 treap
    BZOJ 1096 ZJOI2007 仓库设计 斜率优化dp
    BZOJ 1396: 识别子串( 后缀数组 + 线段树 )
  • 原文地址:https://www.cnblogs.com/zhaoxinhui/p/12386708.html
Copyright © 2011-2022 走看看