刚开始学习爬虫,在看《用Python写网络爬虫》一书,在下载的源代码中发现有这样一行代码:
row.append(tree.cssselect('table > tr#places_{}__row > td.w2p_fw'.format(field))[0]
不懂之处有两个:
一是'table > tr#places_{}__row > td.w2p_fw'.format(field),这实际上就是将field的值映射到字符串中的{}中,得到结果就是'table > tr#places_field__row > td.w2p_fw'这样的一个字符串。这个可以查字符串的格式化。如下链接说的还算清楚http://www.cnblogs.com/xccnblogs/p/5224375.html点击打开链接
In [8]: sts_str='your name is {}'.format('zs')
In [9]: print sts_str
your name is zs
二是cssselect()的括号中的参数不懂是什么意思。如下链接说的很清楚
https://www.w3.org/TR/CSS21/selector.html点击打开链接
为更好地记录,现就一些进行翻译
Pattern(模式) | Meaning(意义) | Described in section |
---|---|---|
* | 匹配所有的元素 | |
E |
E F | 匹配E的子孙元素F |
E>F | 匹配E的子元素F |
E#myid | 匹配所有的ID是myid的E元素 |
其余的暂时还用不上,以后再补充!