当前位置: 首页 > 面试题库 >

使用python和selenium抓取动态网页

蒙勇
2023-03-14
问题内容

在网站上,有在标顶部的几个环节123,和next。如果按下以数字标记的链接,它将动态地将一些数据加载到content中div。如果next被按下,它会用标签页456next和第4页中的数据显示。

我想从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")


 类似资料:
  • 本文向大家介绍python+selenium+PhantomJS抓取网页动态加载内容,包括了python+selenium+PhantomJS抓取网页动态加载内容的使用技巧和注意事项,需要的朋友参考一下 环境搭建 准备工具:pyton3.5,selenium,phantomjs 我的电脑里面已经装好了python3.5 安装Selenium pip3 install selenium 安装Phan

  • 我尝试用BS4 python来抓取动态网站: https://www.nadlan.gov.il/?search=תל אביב יפו 我试过: 我有两个问题: > 当我打开站点时,数据加载需要几秒钟: 硒如何解决这些问题?

  • 问题内容: [我想做的事] 刮擦下面的网页以获取二手车数据。 http://www.goo- net.com/php/search/summary.php?price_range=&pref_c=08,09,10,11,12,13,14&easysearch_flg=1 [问题] 刮整个页面。在上面的网址中,仅显示前30个项目。我可以在下面编写的代码中删除这些内容。指向其他页面的链接显示为1 2

  • 问题内容: 我想使用Python在这样的网页上抓取“正在寻找这些作者:”框中的内容:http : //academic.research.microsoft.com/Search?query=lander 不幸的是,盒子的内容是由JavaScript动态加载的。通常在这种情况下,我可以阅读Javascript来了解发生了什么,或者可以使用Firebug之类的浏览器扩展来了解动态内容的来源。这次没有

  • 问题内容: 免责声明:我在StackOverflow上看到过许多其他类似的帖子,并尝试以相同的方式进行操作,但是它们似乎在此网站上不起作用。 我正在使用Python-Scrapy从koovs.com获取数据。 但是,我无法获得动态生成的产品尺寸。具体来说,如果有人可以引导我从此链接的下拉菜单中获取“不可用”尺寸标签,我将不胜感激。 我可以静态获取尺寸列表,但这样做只能得到尺寸列表,但不能获得其中的

  • 我想使用Python在这样的网页上抓取“你在寻找这些作者吗”框的内容:http://academic.research.microsoft.com/Search?query=lander 不幸的是,该框的内容是由JavaScript动态加载的。通常在这种情况下,我可以阅读Javascript来了解发生了什么,或者我可以使用Firebug之类的浏览器扩展来了解动态内容的来源。这次没有这样的运气。。。