def walkProducts(session, response):
try:
root = html.fromstring(response.text)
products = root.xpath("//select[@name='ctl00$ctl00$ctl00$mainContent$localizedContent$bodyCenter$adsPanel$lbProduct']/option")
url = response.url
global startProd
for iProd, product in enumerate(products[startProd:], startProd):
startProd=0
rsrc = product.xpath("./@value")[0]
text = product.xpath(".//text()")[0]
print('Product="%s", iProd=%d'%(text, iProd))
formdata={"__EVENTTARGET": "ctl00$ctl00$ctl00$mainContent$localizedContent$bodyCenter$adsPanel$lbProduct",
"ctl00$ctl00$ctl00$mainContent$localizedContent$bodyCenter$adsPanel$lbProduct": rsrc,
"__ASYNCPOST:": "true"}
resp2 = form_submit(session, root, url,
"aspnetForm",
formdata,
{"Referer": url})
if not resp2:
print('Ignored iProd=%d, product="%s"'%(iProd, text))
continue
walkFirmwares(resp2, product)
except BaseException as ex:
print('Error iProd=%d, product="%s"'%(iProd, text))
traceback.print_exc()
netgear_form_submit_crawler.py 文件源码
python
阅读 25
收藏 0
点赞 0
评论 0
评论列表
文章目录