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
04-25 22:56