提取商品名为啥加个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中有换行符

0
0

Python爬虫工程师实战 大数据时代必备

慕课网严选精品教程,高质量内容+服务!

2378 学习 · 1158 问题

查看课程