提取商品名为啥加个join方法?
来源:9-5 通过requests完成京东详情页数据的获取

Mmajicc
2019-05-12
如上图所示,老师在这里加上join方法,是将换行符和文本字符串组成新的字符串,但是extract()[0]不是已经将该文本字符串全部取出来了吗?直接strip()去除前后的空格或者换行符了吗?
我自己代码实验了一下:
import requests
from scrapy.selector import Selector
html_text = requests.get('https://item.jd.com/100002810820.html').text
sel = Selector(text=html_text)
good_name = sel.xpath("//div[@class='sku-name']/text()").extract()[0]
good_name = good_name.strip()
print(good_name)
结果显示也是成功的,如图:
不清楚为啥加上join()方法,我知道不加extract()得到的结果是SelectorList类型,extract()能取到list中的数据,extract[0]不正是第一个数据吗?我哪个地方理解错了吗?还是说我这样做也可以?
写回答
1回答
-
bobby
2019-05-14
多谢提醒,这个地方确实取了第一值以后 就不需要join方法了,使用join方法就不需要指明取第一值, 最好的方法就是使用join,但是去掉取第一值的逻辑,这样能防止html中有换行符
00
相似问题