解析HTML数据

2021-07-30  本文已影响0人  逍遥_yjz

1. 根据id属性获取,并读取src对应的链接。

pic_info = obj.find_all('img', attrs={'id': "imgpath"})
url_pic = pic_info[0]['src']
或者
pic_vlaue = single_value[1].find('img')['src']

2. 根据class属性获取,并读取href对应的链接。

pic_info = obj.find_all('div', attrs={'class': "alarm"})
warningInformation = pic_info[0].find_all('h2')
warning_list = []
for line in warningInformation:
    one_warning_list = []
    title = line.find_all('a')[0].text
    link = line.find_all('a')[0].attrs['href']

3.获取星兄弟的数据

ss = ul.next_sibling.next_sibling.text.strip()

4.selenium 获取某个元素的html

4.1 定位及其获取文本

abstract_content = browser.find_element_by_id("alarmcontent").text

html_content = browser.find_element_by_class_name("rainstormRecoveryDirectoryBox")
html_text = html_content.get_attribute('outerHTML')

4.2 获取内部html:jquey的innerHtml():

get_attribute('innerHTML')

获取整体html:jquey的html():

get_attribute('outerHTML')

4.3 截取自定义窗口的图片

  browser = webdriver.Chrome(chrome_options=chrome_options)
  browser.set_page_load_timeout(480)
    browser.get(URL)
    canvas = browser.find_element_by_id("livecanvas")

    num = 30  # 尝试截取num次
    while num > 0:
        as_png = canvas.screenshot_as_png  # 获取截图的字节流
        # 如果截取的是空白图片,大小为5KB左右,截取正确图片大小为700KB左右
        if len(as_png) > 1024 * 20:
            browser.quit()
            binary_video = as_png
            break
        num -= 1
        if num == 0:  # 截取num次后还没有得到有效图片,抛异常
            browser.quit()
            binary_video = ''
            break
        time.sleep(1)
    return binary_video
上一篇下一篇

猜你喜欢

热点阅读