1
TimePPT 2017-09-27 21:16:27 +08:00
|
2
billion 2017-09-27 21:54:22 +08:00
如果你非要字典有 Scrapy 的情况下还手动用 lxml 的话,
```python from lxml.html import fromstring selector = fromstring(response.body.decode()) selector.xpath('//div[@class="A"]') ``` |
3
saximi OP @billion 我初学爬虫,想用一些最主流的模式和包来实现功能。我知道 Scrapy 是最好用的架构,所以肯定要用的,另外据说 lxml 是 Python 语言里和 XML 以及 HTML 工作的功能最丰富和最容易使用的库。所以我才产生了如何在 Scrapy 下使用 lxml 的念头,当然这在各位前辈看来却可能是很不合理的搭配。
按照您的意思,是不是既然使用了 Scrapy 架构,就用 xpath 来解析 XML 和 HTML 即可,不要再使用 lxml 了? 谢谢指点! |
4
zhusimaji 2017-09-28 08:52:50 +08:00
还有一个强大的库 bs4
|
5
mentalkiller 2017-09-28 11:17:12 +08:00
推荐楼上说的 BS4
[doc]( https://www.crummy.com/software/BeautifulSoup/bs4/doc.zh/index.html "doc") |
6
saximi OP |
7
yucongo 2017-09-29 00:06:10 +08:00
趁早改投 pyquery 门下吧……
|
8
zhusimaji 2017-09-29 08:56:25 +08:00
@saximi 怎么会效率低,你可以使用不同解析器去解析 html,比如你提到的 lxml 都是可以使用的,所以效率问题不大
|
9
billion 2017-09-29 19:01:08 +08:00
@saximi Scrapy 本身就自动会使用 lxml,这是它的一个依赖包。Scrapy 本来已经自动使用 lxml 帮你处理好了,你直接写 XPath 就好了,可你偏要自己再用 lxml 处理一遍。
|