【问题标题】:web scraping for a hidden DIV only showing by click a button in the webpage仅通过单击网页中的按钮显示隐藏 DIV 的网络抓取
【发布时间】:2019-11-05 07:11:47
【问题描述】:

我需要从网站上抓取数据,在您单击网站中的按钮之前,隐藏的 div 不会显示。当我使用代码获取html内容时,即使在“Inspect”中可以看到隐藏的div数据,我也无法获取隐藏的div内容

url、code、隐藏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"))

【问题讨论】:

标签: javascript python html web-scraping


【解决方案1】:

您可以使用selenium 通过 id 找到所需的div 并使用soup.send_keys('\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')

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

from bs4 import BeautifulSoup as soup
content = soup(d.page_source, 'html.parser').find('div', {'id':'right2321'}).text

【讨论】:

  • 运行上面的脚本,得到错误``` ElementNotInteractableException: Message: element not interactable ```
  • 我解决了:``` d.get('so.gushiwen.org/guwen/bookv_966.aspx') element = d.find_element_by_id('leftbtn784') element.click() hid = d.find_element_by_id('right784')打印(隐藏文本)```
猜你喜欢
  • 1970-01-01
  • 2016-05-21
  • 2021-06-14
  • 2011-03-05
  • 1970-01-01
  • 2013-01-16
  • 2012-05-13
  • 2013-08-12
  • 1970-01-01
相关资源
最近更新 更多