from grab import Grab
g = Grab()
g.go('https://www.google.com.ua/')
g.doc.set_input("q","grab")
g.doc.submit()
print g.doc.select('//head/title').text()
print g.doc.select('//h3[@class="r"]/a')
这段代码的结果是:
Grab - python фреймворк для парсинга сайтов
<selection.selector_list.SelectorList object at 0x022F9E90>
首先'打印'必须写“抓 - ПошукGoogle”,不是吗?但它显示结果,必须写第二个'print'。 为什么会这样?
答案 0 :(得分:1)
当您使用g.doc.submit()
Grab发送表单时,会使用自动选择的I'm Feeling Lucky
按钮提交表单。
如果您想接收Google搜索的实际结果,则必须指定提交按钮
In [50]: g.go('https://www.google.com.ua/')
Out[50]: <grab.document.Document at 0x7f2552014050>
In [51]: g.doc.set_input("q","grab")
In [52]: g.doc.submit(submit_name = 'btnK')
Out[52]: <grab.document.Document at 0x7f2552014170>
In [53]: g.doc.select('//head/title').text()
Out[53]: u'grab - \u041f\u043e\u0448\u0443\u043a Google'
In [54]: print g.doc.select('//head/title').text()
grab - Пошук Google
g.doc.select('//h3[@class="r"]/a')
返回与您的xpath表达式匹配的所有元素的列表。
In [59]: for el in g.doc.select('//h3[@class="r"]/a'):
....: print el.text()
....:
Grab - python фреймворк для парсинга сайтов
Grab — Викиучебник
Grab | Define Grab at Dictionary.com
Grab — Вікіпедія
grab - Англо-русский словарь на WordReference.com
Grab — python библиотека для парсинга сайтов ...
grab - definition of grab by The Free Dictionary
lorien/grab · GitHub
grab 0.6.5 : Python Package Index
如果您只需要第一个结果,可以使用
g.doc.select('//h3[@class="r"]/a')[0]