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