5
|
BSD секция / Настройки на софтуер / Re: Здравейте, имам следният проблем с прочитането на един текстов файл.
|
-: Oct 09, 2019, 10:19
|
много благодаря трябва да почерпя Ето ти и за твоя случай, но имай предвид че това не го препоръчвам, понеже ще извади всички споменати домейни в документа:
docx2txt 1.docx - | grep -E "[a-zA-Z0-9]+([-.]?[a-zA-Z0-9]+)*.[a-zA-Z]" | sed 's/https\?:\/\///' | awk -F "/" '{ print $1 }' | sed 's/www.//1' | grep -v -E "([0-9]{1,3}[\.]){3}[0-9]{1,3}" | grep -E "[a-zA-Z0-9]+([-.]?[a-zA-Z0-9]+)*.[a-zA-Z]+$" | grep -v " " | sort -u
Ако имаш документ и трябва да направиш списък и в документа примерно пише: Тези са ... но тези не са.... Ти ще направиш списък с всички. И пак казвам, това е според подадения пример. Не може да е универсално.
wc -l
връща 33
ПП: Променил съм го , така че го пробвай пак. Стайлинга тук не го харесва много 
|
|
|
6
|
BSD секция / Настройки на софтуер / Re: Здравейте, имам следният проблем с прочитането на един текстов файл.
|
-: Oct 09, 2019, 10:16
|
много благодаря трябва да почерпя Така... XML е шитняна работа и парсването е кошмар. А и отдавна не бях пипал Python, та забавих и покрай някакви елементарни грешки. Както казах, има модул направен за работа с docx документи, обаче в предния ми пост се видя, че читаво не излиза. Почти всичко липсва. Затова се хванах директно да работя с XML-а, с инструментите, които си идват с Питоня. Едва ли ще искаш да инсталираш модули.
Скрипта:
import sys import xml.etree.ElementTree as et import zipfile as zf
zip = zf.ZipFile(sys.argv[1]) doc = zip.open('word/document.xml')
tree = et.parse(doc) root = tree.getroot()
ns = {'w': 'http://schemas.openxmlformats.org/wordprocessingml/2006/main'}
urls = [] for table in root.findall(".//w:tbl", ns): urls.extend([cell.text for cell in table.findall('.//w:t', ns)])
domains = [] for url in urls: if url.startswith('http'): domains.append(url.strip().split('//')[1].split('/')[0].lstrip('www.')) elif url.startswith('www'): domains.append(url.split('/')[0].lstrip('www.')) else: domains.append(url.split('/')[0]) for domain in sorted(list(set(domains))): print(domain) Файлът отново се задава като параметър, та да можеш да си посочваш, каквото желаеш. Изходът от горното върху docx файла, за когото даде линк:
aba.marketing afh.bg alphabetfx.com arotrade.com brokerz.com cfds100.com crypto.com cryptofg.com ellingtoninv.com en.utrader.com finarix.com finixcapital.com finmaxbo.com finmaxcfd.com fxnobels.io infinitrade.com investingcapital.com jpm-invest.com legalcfd.com marketscfd.net nextcoinmarket.com olssoncapital.com olympusmarkets.com omegafx.io payboutique.com pbncapital.com profit-trade.com ptbanc.com royalcbank.com sternmarkets.com swissinv24.com trader.online umarkets.com
Чакам си бирата 
|
|
|
11
|
BSD секция / Настройки на софтуер / Re: Здравейте, имам следният проблем с прочитането на един текстов файл.
|
-: Oct 08, 2019, 21:31
|
Файла се задава като параметър на скрипта.
#!/usr/bin/env python3
from sys import argv
with open(argv[1], 'r', encoding='utf-8') as f: domains = [] for line in f: if line.startswith('http'): domains.append(line.strip().split('//')[1].split('/')[0].lstrip('www.')) for d in sorted(domains): print(d) Резултат:
142.132.247.59 aba.marketing aba.marketing afh.bg afh.bg alphabetfx.com alphabetfx.com arotrade.com arotrade.com brokerz.com brokerz.com cfds100.com cfds100.com crypto.com crypto.com cryptofg.com cryptofg.com ellingtoninv.com ellingtoninv.com en.utrader.com en.utrader.com finarix.com finarix.com finixcapital.com finixcapital.com finmaxbo.com finmaxbo.com finmaxcfd.com finmaxcfd.com fxnobels.io fxnobels.io infinitrade.com infinitrade.com investingcapital.com investingcapital.com jpm-invest.com jpm-invest.com legalcfd.com legalcfd.com marketscfd.net marketscfd.net nextcoinmarket.com nextcoinmarket.com olssoncapital.com olssoncapital.com olympusmarkets.com olympusmarkets.com omegafx.io omegafx.io payboutique.com payboutique.com pbncapital.com pbncapital.com profit-trade.com profit-trade.com ptbanc.com ptbanc.com royalcbank.com royalcbank.com sternmarkets.com sternmarkets.com swissinv24.com swissinv24.com trader.online trader.online umarkets.com umarkets.com
Без съвпадения, отрязан първия ред с IP-то:
#!/usr/bin/env python3
from sys import argv
with open(argv[1], 'r', encoding='utf-8') as f: domains = [] for line in f: if line.startswith('http'): domains.append(line.strip().split('//')[1].split('/')[0].lstrip('www.')) for d in sorted(list(set(domains)))[1:]: print(d) Резултат:
aba.marketing afh.bg alphabetfx.com arotrade.com brokerz.com cfds100.com crypto.com cryptofg.com ellingtoninv.com en.utrader.com finarix.com finixcapital.com finmaxbo.com finmaxcfd.com fxnobels.io infinitrade.com investingcapital.com jpm-invest.com legalcfd.com marketscfd.net nextcoinmarket.com olssoncapital.com olympusmarkets.com omegafx.io payboutique.com pbncapital.com profit-trade.com ptbanc.com royalcbank.com sternmarkets.com swissinv24.com trader.online umarkets.com
Защо при мен изкарва само това ./domainconvert.py resheniepdf.txt aba.marketing brokerz.com crypto.com en.utrader.com finarix.com fsc.bg fxnobels.io investingcapital.com jpm-invest.com pbncapital.com royalcbank.com sternmarkets.com swissinv24.com trader.online umarkets.com
|
|
|
13
|
BSD секция / Настройки на софтуер / Re: Здравейте, имам следният проблем с прочитането на един текстов файл.
|
-: Oct 08, 2019, 17:41
|
cat rxxxxxx.txt | grep -i http | awk -F "//" '{ print $2 }' | awk -F "/" '{ print $1 }' | sed 's/www.//1' | grep -v -E "([0-9]{1,3}[\.]){3}[0-9]{1,3}" | sort -u aba.marketing brokerz.com crypto.com en.utrader.com finarix.com fsc.bg fxnobels.io investingcapital.com jpm-invest.com pbncapital.com royalcbank.com sternmarkets.com swissinv24.com trader.online umarkets.com аз виждам само това ти как ги изкарваш много странно
|
|
|
|