在网站上,有在标顶部的几个环节1,2,3,和next。如果按下以数字标记的链接,它将动态地将一些数据加载到content中div。如果next被按下,它会用标签页4,5,6,next和第4页中的数据显示。
1
2
3
next
div
4
5
6
我想从div按下的所有链接的内容中抓取数据(我不知道有多少,一次只显示3个,然后next)
请举一个例子。例如,考虑网站www.cnet.com。
请指导我下载使用selenium的一系列页面,并自行解析它们以处理漂亮的汤。
总体布局(未经测试):
#!/usr/bin/env python from contextlib import closing from selenium.webdriver import Firefox # pip install selenium url = "http://example.com" # use firefox to get page with javascript generated content with closing(Firefox()) as browser: n = 1 while n < 10: browser.get(url) # load page link = browser.find_element_by_link_text(str(n)) while link: browser.get(link.get_attribute("href")) # get individual 1,2,3,4 pages #### save(browser.page_source) browser.back() # return to page that has 1,2,3,next -like links n += 1 link = browser.find_element_by_link_text(str(n)) link = browser.find_element_by_link_text("next") if not link: break url = link.get_attribute("href")