make that shit customizable
This commit is contained in:
parent
c2c051b6a3
commit
8f3da5ee34
@ -42,10 +42,6 @@ class InfoScraper(object):
|
|||||||
|
|
||||||
def find(self):
|
def find(self):
|
||||||
rtrn = [e for e in self.soup.find_all(self.elem)]
|
rtrn = [e for e in self.soup.find_all(self.elem)]
|
||||||
if len(rtrn) == 1:
|
|
||||||
rtrn = rtrn[0]
|
|
||||||
elif len(rtrn) == 0:
|
|
||||||
rtrn = None
|
|
||||||
return(rtrn)
|
return(rtrn)
|
||||||
|
|
||||||
|
|
||||||
@ -53,8 +49,17 @@ class InfoScraper(object):
|
|||||||
def parseArgs():
|
def parseArgs():
|
||||||
args = argparse.ArgumentParser(description = 'Get quick information from a URL at a glance')
|
args = argparse.ArgumentParser(description = 'Get quick information from a URL at a glance')
|
||||||
args.add_argument('-e', '--elem',
|
args.add_argument('-e', '--elem',
|
||||||
|
dest = 'strip',
|
||||||
default = def_elem,
|
default = def_elem,
|
||||||
help = ('The element(s) you want to scrape from the page. This is likely just going to be "{0}" (the default)').format(def_elem))
|
help = ('The element(s) you want to scrape from the page. This is likely just going to be "{0}" (the default)').format(def_elem))
|
||||||
|
args.add_argument('-s', '--strip',
|
||||||
|
dest = 'strip',
|
||||||
|
action = 'store_true',
|
||||||
|
help = ('Whether to strip whitespace at the beginning/end of each element text'))
|
||||||
|
args.add_argument('-d', '--delineate',
|
||||||
|
dest = 'delin',
|
||||||
|
action = 'store_true',
|
||||||
|
help = ('Whether to delineate each element instance'))
|
||||||
args.add_argument('url',
|
args.add_argument('url',
|
||||||
metavar = 'URL',
|
metavar = 'URL',
|
||||||
help = ('The URL to parse. It may need to be quoted or escaped depending on the URL and what shell you\'re using'))
|
help = ('The URL to parse. It may need to be quoted or escaped depending on the URL and what shell you\'re using'))
|
||||||
@ -65,15 +70,15 @@ def main():
|
|||||||
args = parseArgs().parse_args()
|
args = parseArgs().parse_args()
|
||||||
i = InfoScraper(**vars(args))
|
i = InfoScraper(**vars(args))
|
||||||
rslts = i.find()
|
rslts = i.find()
|
||||||
if isinstance(rslts, list):
|
|
||||||
for i in rslts:
|
for i in rslts:
|
||||||
|
t = i.text
|
||||||
|
if args.strip:
|
||||||
|
t = t.strip()
|
||||||
|
if args.delin:
|
||||||
print('== {0}: =='.format(args.elem))
|
print('== {0}: =='.format(args.elem))
|
||||||
print(i.text.strip())
|
print(t)
|
||||||
|
if args.delin:
|
||||||
print('==\n')
|
print('==\n')
|
||||||
else:
|
|
||||||
print('== {0}: =='.format(args.elem))
|
|
||||||
print(rslts.text.strip())
|
|
||||||
print('==')
|
|
||||||
return(None)
|
return(None)
|
||||||
|
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user