Error with Beautifulsoup 'ResultSet' object has no attribute 'findAll'

会有一股神秘感。 提交于 2019-12-02 05:15:20

Yes, findAll returns a ResultSet which is a type of list. So you can either select a value or iterate through them. The code below shows iteration.

#!/usr/bin/env python2
# -*- coding: utf-8 -*-
from BeautifulSoup import BeautifulSoup as beatsop
from BeautifulSoup import SoupStrainer as sopstrain
import urllib2

def html_parser(html_data):
    html_proc = beatsop(html_data)
    onlyforms = sopstrain("form")
    forms1 = html_proc.findAll(onlyforms)
    for found_form in forms1:
        txtinput = found_form.findAll('input', {'type': 'text'})
        #We take the forms that aren't text
        listform = ["radio", "checkbox", "password", "file", "image", "hidden"]
        otrimput = found_form.findAll('input', {'type': listform})
        # we seach for names in text forms
        for e_name in txtinput:
            names = e_name['name']
        #we seach for value in otrimput
        for e_value in otrimput:
            value1 = e_value.get('value')
            if value1:
                pass
            else:
                print('{} there is no value.'.format(e_value))

html_data = urllib2.urlopen("http://www.google.com")
html_parser(html_data)
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!