当前位置: 首页 > 知识库问答 >
问题:

仅通过单击网页中的按钮显示隐藏DIV的网页抓取

谷梁昊空
2023-03-14

我需要从一个网站刮数据,有一个隐藏的div不显示,直到你点击一个按钮在网站上。当我使用代码获取html内容时,即使在“Inspect”中可以看到隐藏的div数据,也无法获取隐藏的div内容

url、代码和隐藏DIV的详细信息如下:

import requests
import bs4

url = 'https://so.gushiwen.org/guwen/bookv_3694.aspx'
doc=requests.get(url)
print(bs4.BeautifulSoup(doc.text, "html.parser"))

共有1个答案

洪梓
2023-03-14

您可以使用selenium按id定位所需的div,并使用soup。发送密钥('\n')

from selenium import webdriver
d = webdriver.Chrome('/path/to/chromedriver')
d.get('https://so.gushiwen.org/guwen/bookv_3694.aspx')
d.find_element_by_id('right2321').send_keys('\n')

现在,您可以使用美丽汤通过以下方式抓取您想要的内容:

from bs4 import BeautifulSoup as soup
content = soup(d.page_source, 'html.parser').find('div', {'id':'right2321'}).text
 类似资料:
  • 我正在尝试隐藏按钮div和显示一个隐藏的div后,一个表单按钮已经被点击,加上延迟提交/重定向。下面是我想出的办法,但似乎没有100%奏效。 null null 任何建议都非常感谢

  • 问题内容: 我想在服务器端执行以下操作: 1)抓取网页 2)模拟对该页面的单击,然后导航到新页面。 3)刮开新页面 4)模拟新页面上的一些按钮单击 5)通过json或其他方式将数据发送回客户端 我正在考虑将其与Node.js一起使用。 但是我对应该使用哪个模块感到困惑 a)corpse b)Node.io c)Phantomjs d)JSDOM e)其他 我已经安装了node,io,但是无法通过命

  • 问题内容: 我需要自动单击网页中的任何“添加”按钮,如下所示: “ https://groceries.asda.com/search/yoghurt ” 但是,页面中的“添加”按钮都没有名称或ID。所以我不能使用Selenium包中的命令。 谁能帮我? 问题答案: 要单击特定产品的任何特定按钮,可以编写如下方法: 现在,您可以单击传递其标题的任何按钮,如下所示:

  • 不含硒 我需要点击一个网页上的按钮。有可能与请求有关吗?我不想用硒。 提前道谢!

  • 问题内容: 我需要自动单击网页中的任何“添加”按钮,如下所示: “ https://groceries.asda.com/search/yoghurt ” 但是,页面中的“添加”按钮都没有名称或ID。所以我不能使用Selenium包中的命令。 谁能帮我? 问题答案: 要单击特定产品的任何特定按钮,可以编写如下方法: 现在,您可以单击传递其标题的任何按钮,如下所示:

  • 问题内容: 我有一个菜单和三个隐藏的div,这些div取决于用户选择的选项。我只想使用CSS来显示/隐藏它们。我现在正在使用jquery,但我希望禁用js即可访问它。此处有人为其他人提供了此代码,但仅在div:hover或div:active时有效,当我将其更改为div:visited时它不起作用。我是否需要添加某些内容,或者这不是正确的方法?感谢您的帮助:) 问题是我的客户希望菜单被选中时此di