zoukankan      html  css  js  c++  java
  • xpath, urllib

     xpath

            li_category = response.xpath("//div[@class='r-name']")    <div class="r-name"><div>       
            li_category = response.xpath("//div[contains(@class, 'r-name')]")   <div class="r-name a b"><div> 包含'r-name'的所有div
         li_category = response.xpath("//a[text()='下一页']/@href").extract_first()  文本 = ’下一页‘的 a 标签的 href属性
         li_category = response.xpath("//a[text()='关键字:']/../li/text()").extract_first()  .. 父级

    响应的同类数据但是格式不同,比如

        
       // category1 有a标签
       <div class="a"> <a href="">aaaa</a> </div> // category2 没有a标签 <div class="a"> aaaa </div>

      此时取文本可以这样取

    response.xpath("//div[@class='a']//text()").extract().strip()

     响应的同类数据但是格式不同,比如

        <div class='a'>
            <a href="">aaaa</a>
        </div>
    
        <div class='a'>
            <a href="">aaaa2</a>
            <a href="">aaaa1</a>
        </div>
    此时取文本可以这样取
    response.xpath("//div[@class='a']/a/text").extract()
    
    

    完善url

    import request, urllib
    
    
    a = 'http://www.xxx.com?ss=1'
    b = '?kw=22'
    res = urllib.parse.urljoin(a, b) # parse需要与 request一起使用,框架中一般都有request
    print(res) # http://www.xxx.com?kw=22
  • 相关阅读:
    《构建之法》第8、9、10章的读后感和第一个sprint总结
    实验三 进程调度模拟程序
    构建之法第6、7章的读后感
    实验二 作业调度模拟程序
    0415博客园评价
    0414复利计算6.0-----结对编程
    0408~送给小伙伴的汉堡包
    学习进度条
    Sprint three
    sprint one
  • 原文地址:https://www.cnblogs.com/tangpg/p/10783623.html
Copyright © 2011-2022 走看看