Парсинг на одних регулярках - Python
Формулировка задачи:
проблемы с картинками
Листинг программы
- import requests
- import re
- numb = 1
- endd = ';preset=smartfon/'
- startt = 'http://rozetka.com.ua/mobile-phones/c80003/filter/page='
- def writeHeader(file):
- header = r"""<!DOCTYPE html>
- <html>
- <head>
- <meta charset='utf-8' />
- <title>Смартфоны на розетке</title>
- </head>
- """
- file.write(header)
- pass
- def writeBody(file, data):
- file.write("\t<body>\n")
- file.write('<ul>')
- for i in data:
- file.write('<li><a href="{}">{}</a></li>'.format(*i))
- for i in data1:
- file.write('<img src="'+i+'"')
- file.write('</ul>')
- file.write("\t</body>\n")
- pass
- def witeFooter(file):
- footer = "</html>"
- file.write(footer)
- pass
- def writeToHTML(file, data):
- with open(file, 'a', encoding='utf-8') as f:
- writeHeader(f)
- writeBody(f, data)
- witeFooter(f)
- outHTML = "result.html"
- for z in range(11):
- ppp = requests.get(startt+str(numb)+endd)
- output = ppp.text
- reNameRef = re.compile(r'<div\s+class="g-i-tile-i-title.*\s+<a.*href="([^"]+)"[^>]+>\s+([^<]+?)(?:\n|\t)+', re.MULTILINE)
- data = reNameRef.findall(output)
- p = re.compile(r'http.*[jpg|png]')
- data1 = p.findall(output)
- writeToHTML(outHTML, data)
- numb+=1
Решение задачи: «Парсинг на одних регулярках»
textual
Листинг программы
- from bs4 import BeautifulSoup
- import requests
- url = 'http://rozetka.com.ua/mobile-phones/c80003/filter/page=1;preset=smartfon/'
- r = requests.get(url)
- page = BeautifulSoup(r.text, "html.parser")
- rows = page.findAll('div',{'class':"g-i-tile-i-title clearfix"})
- names = []
- for name in rows:
- names.append(name.text)
- for i in names:
- print(i.strip())
- rows = page.findAll('div',{'class':"g-price-uah"})
- prices = []
- for price in rows:
- prices.append(price.text)
- for i in prices:
- print(i)
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д