How can i get input value from html page
like
<input type="hidden" name="captId" value="AqXpRsh3s9QHfxUb6r4b7uOWqMT" ng-model="captId">
I have input name [ name="captId" ] and need his value
import re , urllib , urllib2
a = urllib2.urlopen('http://www.example.com/','').read()
thanx
update 1
I installed BeautifulSoup and used it but there some errors
code
import re , urllib , urllib2
a = urllib2.urlopen('http://www.example.com/','').read()
soup = BeautifulSoup(a)
value = soup.find('input', {'name': 'scnt'}).get('value')
error
"soup = BeautifulSoup(a) NameError: name 'BeautifulSoup' is not defined"
Using re
module to parse xml or html is generally considered as bad practice. Use it only if you are responsable for the page you try to parse. If not, either your regexes are awfully complex, or your script could break if someone replaces <input type="hidden" name=.../>
with <input name="..." type="hidden" .../>
or almost anything else.
BeautifulSoup is a html parser that :
Unless you have good reasons not to do it, you should use it rather than re
for HTML parsing.
For example assuming that txt
contains the whole page, find all hidden fields would be as simple as :
from bs4 import BeautifulSoup
soup = BeautifulSoup(txt)
hidden_tags = soup.find_all("input", type="hidden")
for tag in hidden_tags:
# tag.name is the name and tag.value the value, simple isn't it ?
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With