一个简单的问题。我可以从 duckduckgo 搜索的第一页抓取结果。然而,我正在努力进入第二页和后续页面。我已将 Python 与 Selenium Webdriver 结合使用,这对于首页结果来说效果很好。
我用来抓取第一页的代码是:-
results_url = "https://duckduckgo.com/?q=paralegal&t=h_&ia=web"
browser.get(results_url)
results = browser.find_elements_by_id('links')
num_page_items = len(results)
for i in range(num_page_items):
print(results[i].text)
print(len(results))
nxt_page = browser.find_element_by_link_text("Load More")
if nxt_page:
nxt_page.send_keys(Keys.PAGE_DOWN)"
有一些换行符指示新页面的开始,但它们似乎不会更改 url,因此我尝试使用上述方法向下移动页面,然后重复代码以查找下一页上的链接。然而它不起作用。
任何帮助将非常感激
如果我搜索Load More
在结果的源代码中我找不到它。您是否尝试过使用非 JavaScript版本?
您只需添加即可使用它html
到网址:https://duckduckgo.com/html?q=paralegal&t=h_&ia=web
在那里你可以找到next
按钮在最后。
这个对我有用(Chrome 版本):
results_url = "https://duckduckgo.com/html?q=paralegal&t=h_&ia=web"
browser.get(results_url)
results = browser.find_elements_by_id('links')
num_page_items = len(results)
for i in range(num_page_items):
print(results[i].text)
print(len(results))
nxt_page = browser.find_element_by_xpath('//input[@value="Next"]')
if nxt_page:
browser.execute_script('arguments[0].scrollIntoView();', nxt_page)
nxt_page.click()
顺便说一句:Duckduckgo 还提供了一个很好的 api,这可能更容易使用;)
编辑:修复选择下一页链接的选择器prev
第二个结果页面上的按钮(感谢@kingbode)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)