DownloadImage, RP5IdParser
This commit is contained in:
parent
cbd74265b5
commit
ad93333cf6
4 changed files with 167 additions and 0 deletions
11
dlimg/list.txt
Normal file
11
dlimg/list.txt
Normal file
|
@ -0,0 +1,11 @@
|
||||||
|
https://i.ibb.co/TLMWVKX/html.png
|
||||||
|
https://i.ibb.co/HgKBX69/css.png
|
||||||
|
https://i.ibb.co/FDHWwVT/vbscript.png
|
||||||
|
https://i.ibb.co/yPRhNPw/php.png
|
||||||
|
https://i.ibb.co/G3qP39z/python.png
|
||||||
|
https://i.ibb.co/k0bJfrr/powershell.png
|
||||||
|
https://i.ibb.co/k1WYYYs/javascript.png
|
||||||
|
https://i.ibb.co/km1sN5Y/java.png
|
||||||
|
https://i.ibb.co/5hLz74k/cs.png
|
||||||
|
https://i.ibb.co/j46ws29/bash.png
|
||||||
|
https://i.ibb.co/dLGNx4Q/cpp.png
|
27
dlimg/main.py
Normal file
27
dlimg/main.py
Normal file
|
@ -0,0 +1,27 @@
|
||||||
|
import requests
|
||||||
|
|
||||||
|
imgsfile = open('list.txt', 'rt')
|
||||||
|
imgslist = imgsfile.readlines()
|
||||||
|
imgsfile.close()
|
||||||
|
|
||||||
|
try:
|
||||||
|
for img in imgslist:
|
||||||
|
|
||||||
|
url = img.strip()
|
||||||
|
|
||||||
|
result = requests.get(url).content
|
||||||
|
filepath = url.split('/')
|
||||||
|
|
||||||
|
file = open(filepath[len(filepath) - 1], 'wb')
|
||||||
|
file.write(result)
|
||||||
|
file.close()
|
||||||
|
|
||||||
|
print('Done!')
|
||||||
|
|
||||||
|
except KeyboardInterrupt:
|
||||||
|
print('Stopped by keyboard')
|
||||||
|
|
||||||
|
except Exception as ex:
|
||||||
|
print(ex)
|
||||||
|
|
||||||
|
input('')
|
83
rp5id_parser/cities.csv
Normal file
83
rp5id_parser/cities.csv
Normal file
|
@ -0,0 +1,83 @@
|
||||||
|
ID,City
|
||||||
|
5095,Погода_в_Майкопе
|
||||||
|
1360,Погода_в_Барнауле,_Алтайский_край
|
||||||
|
1599,Погода_в_Благовещенске,_Амурская_область
|
||||||
|
1174,Погода_в_Архангельске,_Архангельская_область
|
||||||
|
1200,Погода_в_Астрахани,_Астраханская_область
|
||||||
|
8667,Погода_в_Уфе
|
||||||
|
1435,Погода_в_Белгороде,_Белгородская_область
|
||||||
|
1859,Погода_в_Брянске,_Брянская_область
|
||||||
|
8440,Погода_в_Улан-Удэ
|
||||||
|
2278,Погода_во_Владимире,_Владимирская_область
|
||||||
|
2315,Погода_в_Волгограде
|
||||||
|
2327,Погода_в_Вологде
|
||||||
|
2374,Погода_в_Воронеже,_Воронежская_область
|
||||||
|
5260,Погода_в_Махачкале
|
||||||
|
1577,Погода_в_Биробиджане
|
||||||
|
9066,Погода_в_Чите,_Забайкальский_край
|
||||||
|
3416,Погода_в_Иваново,_Ивановский_район
|
||||||
|
13507,Погода_в_Магасе
|
||||||
|
152525,Погода_в_Иркутске
|
||||||
|
5633,Погода_в_Нальчике_(аэропорт)
|
||||||
|
3688,Погода_в_Калининграде
|
||||||
|
9323,Погода_в_Элисте
|
||||||
|
3708,Погода_в_Калуге,_Калужская_область
|
||||||
|
6608,Погода_в_Петропавловске-Камчатском
|
||||||
|
8990,Погода_в_Черкесске
|
||||||
|
6601,Погода_в_Петрозаводске
|
||||||
|
4013,Погода_в_Кирове,_Кировская_область
|
||||||
|
7925,Погода_в_Сыктывкаре
|
||||||
|
4326,Погода_в_Костроме,_Костромская_область
|
||||||
|
4429,Погода_в_Краснодаре,_Краснодарский_край
|
||||||
|
4475,Погода_в_Красноярске,_Красноярский_край
|
||||||
|
174,Погода_в_Симферополе
|
||||||
|
3932,Погода_в_Кемерове
|
||||||
|
4711,Погода_в_Кургане,_Курганская_область
|
||||||
|
4731,Погода_в_Курске,_Курская_область
|
||||||
|
7285,Погода_в_Санкт-Петербурге
|
||||||
|
4931,Погода_в_Липецке
|
||||||
|
5081,Погода_в_Магадане
|
||||||
|
3609,Погода_в_Йошкар-Оле
|
||||||
|
7300,Погода_в_Саранске,_Мордовия
|
||||||
|
5483,Погода_в_Москве_(ВДНХ)
|
||||||
|
5538,Погода_в_Мурманске
|
||||||
|
5797,Погода_в_Нижнем_Новгороде
|
||||||
|
5917,Погода_в_Великом_Новгороде
|
||||||
|
6036,Погода_в_Новосибирске
|
||||||
|
6290,Погода_в_Омске
|
||||||
|
6318,Погода_в_Орле,_Орловская_область
|
||||||
|
6320,Погода_в_Оренбурге
|
||||||
|
6501,Погода_в_Пензе,_Пензенская_область
|
||||||
|
6560,Погода_в_Перми
|
||||||
|
2275,Погода_во_Владивостоке
|
||||||
|
6935,Погода_в_Пскове
|
||||||
|
2622,Погода_в_Горно-Алтайске
|
||||||
|
9421,Погода_в_Якутске
|
||||||
|
7147,Погода_в_Ростове-на-Дону
|
||||||
|
7217,Погода_в_Рязани,_Рязанская_область
|
||||||
|
7259,Погода_в_Самаре,_Самарская_область
|
||||||
|
7303,Погода_в_Саратове
|
||||||
|
9362,Погода_в_Южно-Сахалинске
|
||||||
|
3034,Погода_в_Екатеринбурге
|
||||||
|
234,Погода_в_Севастополе,_Севастополь
|
||||||
|
2277,Погода_во_Владикавказе
|
||||||
|
7561,Погода_в_Смоленске
|
||||||
|
7719,Погода_в_Ставрополе
|
||||||
|
8012,Погода_в_Тамбове
|
||||||
|
3646,Погода_в_Казани,_Татарстан
|
||||||
|
8077,Погода_в_Твери
|
||||||
|
8218,Погода_в_Томске
|
||||||
|
8306,Погода_в_Туле,_Тульская_область
|
||||||
|
4769,Погода_в_Кызыле,_Россия
|
||||||
|
8374,Погода_в_Тюмени,_Тюменская_область
|
||||||
|
3451,Погода_в_Ижевске
|
||||||
|
8452,Погода_в_Ульяновске
|
||||||
|
8722,Погода_в_Хабаровске
|
||||||
|
858,Погода_в_Абакане
|
||||||
|
8753,Погода_в_Ханты-Мансийске
|
||||||
|
8955,Погода_в_Челябинске
|
||||||
|
2713,Погода_в_Грозном,_Чечня
|
||||||
|
8935,Погода_в_Чебоксарах,_Чувашия
|
||||||
|
1057,Погода_в_Анадыре
|
||||||
|
7249,Погода_в_Салехарде
|
||||||
|
9462,Погода_в_Ярославле,_Ярославская_область
|
|
46
rp5id_parser/main.py
Normal file
46
rp5id_parser/main.py
Normal file
|
@ -0,0 +1,46 @@
|
||||||
|
import re
|
||||||
|
import requests
|
||||||
|
import urllib.parse
|
||||||
|
from lxml import html
|
||||||
|
|
||||||
|
# Get web page with Russian cities from RP5
|
||||||
|
russian_cities_page = requests.get('https://rp5.ru/Погода_в_России')
|
||||||
|
russian_cities_tree = html.fromstring(russian_cities_page.content)
|
||||||
|
|
||||||
|
# Extract the table with cities
|
||||||
|
columns = russian_cities_tree.xpath('//div[@class="countryMap"]//div[@class="countryMap-cell"]')
|
||||||
|
|
||||||
|
# File
|
||||||
|
cities_file = open('cities.csv', 'wt')
|
||||||
|
cities_file.write('ID,City\n')
|
||||||
|
|
||||||
|
# Write all identifiers and cities
|
||||||
|
city_link_regex = re.compile(r'^https*://rp5.ru/(Погода_в[А-Яа-я\w.,\-()]+)')
|
||||||
|
added_ids = []
|
||||||
|
for col in columns:
|
||||||
|
ids = col.xpath('.//span[@class="Ajax-PointID"]//@id')
|
||||||
|
for city in ids:
|
||||||
|
|
||||||
|
str_to_write = ''
|
||||||
|
# Check identifier
|
||||||
|
for added in added_ids:
|
||||||
|
if city == added:
|
||||||
|
break
|
||||||
|
else:
|
||||||
|
# Write identifier
|
||||||
|
added_ids.append(city)
|
||||||
|
str_to_write += str(city)
|
||||||
|
|
||||||
|
# Comment this block to execute script faster and prevent DDoS detecting on RP5 server
|
||||||
|
city_response = requests.get('https://rp5.ru/town.php?id=' + city)
|
||||||
|
redirect = urllib.parse.unquote(city_response.url)
|
||||||
|
print(redirect)
|
||||||
|
str_to_write += (',' + city_link_regex.search(redirect).group(1))
|
||||||
|
|
||||||
|
# Write to file
|
||||||
|
cities_file.write(str_to_write + '\n')
|
||||||
|
print(city)
|
||||||
|
|
||||||
|
cities_file.close()
|
||||||
|
print('')
|
||||||
|
input('Press ENTER to exit ...')
|
Loading…
Add table
Reference in a new issue