Best Python code snippet using localstack_python
itemloader.py
Source:itemloader.py
1from scrapy.loader import ItemLoader2from itemloaders.processors import TakeFirst, MapCompose3from w3lib.html import remove_tags, replace_escape_chars4import re5main_url = 'https://fr.sandro-paris.com'6def url_join(values):7 if values is None or values == '':8 return ''9 if main_url in values:10 return values11 else:12 return main_url + values13def do_strip(values):14 return values and values.strip()15def lowercase_processor(values):16 return values.lower()17def format_color_style(values):18 result = re.findall(r"[(](.*?)[)]", values)19 if len(result) > 0:20 return result[0]21 else:22 return values23def processDesc(values):24 result = replace_escape_chars(values, which_ones=('\t', '\r', '\n'), replace_by=u' ')25 return result26def processDataPrice(values):27 result = replace_escape_chars(values, which_ones='â¬', replace_by=u'.')28 result = replace_escape_chars(result, which_ones='EUR', replace_by=u'')29 result = replace_escape_chars(result, which_ones=' ', replace_by=u'')30 return result31class CategoryTreeItemLoader(ItemLoader):32 default_output_processor = TakeFirst()33 Level_Url_in = MapCompose(remove_tags, url_join)34 CategoryLevel1_in = MapCompose(remove_tags, processDesc, do_strip)35 CategoryLevel2_in = MapCompose(remove_tags, processDesc, do_strip)36 CategoryLevel3_in = MapCompose(remove_tags, processDesc, do_strip)37 CategoryLevel4_in = MapCompose(remove_tags, processDesc, do_strip)38 CategoryLevel5_in = MapCompose(remove_tags, processDesc, do_strip)39class ProductInfoItemLoader(ItemLoader):40 default_output_processor = TakeFirst()41 ProductUrl_in = MapCompose(remove_tags, url_join)42 Price_in = MapCompose(remove_tags, processDesc, processDataPrice)43def convertMultipuleBlankToOne(values):44 return ' '.join(values.split())45class ProductItemLoader(ItemLoader):46 default_output_processor = TakeFirst()47 Price_in = MapCompose(remove_tags, processDesc, processDataPrice)48 OldPrice_in = MapCompose(remove_tags, processDesc, processDataPrice)49 Name_in = MapCompose(remove_tags, processDesc, do_strip)50 FullDescription_in = MapCompose(remove_tags, do_strip)51 ImageThumbnailUrl_in = MapCompose(remove_tags, url_join)52class VariableClassItemLoader(ItemLoader):53 default_output_processor = TakeFirst()54 DataCode_in = MapCompose(remove_tags, processDesc, convertMultipuleBlankToOne)55 NewPrice_in = MapCompose(remove_tags, processDesc, processDataPrice)56 OldPrice_in = MapCompose(remove_tags, processDesc, processDataPrice)57 Name_in = MapCompose(remove_tags, format_color_style, processDesc, convertMultipuleBlankToOne, do_strip)...
remove tags.py
Source:remove tags.py
1def remove_tags(s):2 text_list = []3 text = []4 if '<' not in s:5 return s.split()6 while s:7 if s[0] == '<':8 s = s[s.find('>')+1:]9 else:10 if '<' not in s:11 text = s.split()12 text_list = text_list + text13 return text_list14 else:15 text = s[:s.find('<')].split()16 text_list = text_list + text17 s = s[s.find('>')+1:]18 return text_list19s1 = '''<h1>Title</h1><p>This is a20 <a href="http://www.udacity.com">link</a>.<p>'''21print remove_tags(s1)22s2 = '''<table cellpadding='3'>23 <tr><td>Hello</td><td>World!</td></tr>24 </table>'''25print remove_tags(s2)26s3 = "<hello><goodbye>"27print remove_tags(s3)28s4 = "This is plain text."29print remove_tags(s4)30s5 = "<br />This line starts with a tag"...
Learn to execute automation testing from scratch with LambdaTest Learning Hub. Right from setting up the prerequisites to run your first automation test, to following best practices and diving deeper into advanced test scenarios. LambdaTest Learning Hubs compile a list of step-by-step guides to help you be proficient with different test automation frameworks i.e. Selenium, Cypress, TestNG etc.
You could also refer to video tutorials over LambdaTest YouTube channel to get step by step demonstration from industry experts.
Get 100 minutes of automation test minutes FREE!!