Получение долларовых сумм из DoD Contract Awards

242
jmabs

Я просматриваю пресс-релизы Министерства обороны ( здесь ) в поисках долларов, превышающих 500 миллионов долларов. Каждый документ содержит от 1000 до 15 000 слов, а суммы в долларах соответствуют обычному тексту для обсуждения. Есть около 2500 документов, которые я хотел бы рассмотреть. Пока что мой рейтинг попаданий (вручную) составляет 1 к 8, поэтому на каждые 8 ​​документов, которые я ищу, я нахожу один с нужной мне суммой в долларах. Как только я найду контракт стоимостью, скажем, 546 миллионов долларов, я запишу компанию, дату и краткое описание.

Итак, мой вопрос, как я могу автоматизировать поиск документов с номерами> 500 000 000?

Вот пример одного абзаца

Корпорация General Dynamics Electric Boat, Гротон, штат Коннектикут, получает контракт на сумму 234 229 426 долл. США с фиксированной платой для агента по проектированию, планирования, инженерно-технической поддержки действующих атомных подводных лодок. Усилия [...] по этому контракту включают в себя опционы, которые, в случае его исполнения, довели бы совокупную стоимость этого контракта до 1 537 500 654 долл. США, Работы будут выполнены в Гротоне, штат Коннектикут (73 процента); Бангор, Вашингтон (9 процентов); Норфолк, штат Вирджиния (6 процентов); Ньюпорт, Род-Айленд (4 процента); Квонсет, Род-Айленд (3 процента); Кингс Бэй, штат Джорджия (3 процента); и Перл-Харбор, Гавайи (2 процента), и, как ожидается, будет завершено к 30 сентября 2015 года. Прочие закупки на 2014 финансовый год (ВМС); 2011, 2012, 2013 и 2014 гг. судостроительная конверсия (ВМФ); 2014 финансовый год исследования, разработки, испытания и оценка; и на 2014 год будут выделены финансовые средства на эксплуатацию и техническое обслуживание (военно-морской флот) в размере 20 333 452 долл. США, а средства по контракту - в размере 1 520 650 долл. США.истекает в конце финансового года. Этот контракт не был закуплен на конкурсной основе в соответствии с FAR 6.302-1 (a) (2) (iii) - только один ответственный источник и никакие другие материалы или услуги не будут отвечать требованиям агентства. Контракт заключен Командованием военно-морских систем, Вашингтон, округ Колумбия (N00024-14-C-2104).

Я думаю, что можно превратить это в нечто вроде

$ 234229426

$ 1537500654

$ 20333452

$ 1520650

Который я мог легко взглянуть, чтобы увидеть, должен ли я вернуться и прочитать документ. Было бы еще лучше, если бы я мог просто увидеть число 1537 500 654.

Так что у меня действительно нет навыков программирования, и я надеялся, что в этом нет необходимости. Мне не нужно, чтобы это было идеально. Я могу копировать и вставлять вещи, но я бы хотел как-то упростить это. Я действительно понятия не имею, с чего начать и какие приложения могут иметь отношение к моему положению. У меня есть доступ к Mac и ПК. Любой совет, который вы можете дать, приветствуется.

1
Можете ли вы рассчитывать на то, что нумерация будет полностью записана в одном формате (1 537 500 654 долл. США), или вам нужно будет найти и другие варианты (500 млн. Долл. США, 74 млн. Долл. США, вознаграждение в размере шестьдесят миллионов)? Jason Aller 8 лет назад 0
Если вы экспортируете все контракты в текстовые файлы (используя представление «Печать» на сайте) или даже в документы Word, регулярные выражения должны быть в состоянии найти числа для вас. Полагаю, что прямая очистка сайта также возможна. Karan 8 лет назад 0
Они чрезвычайно последовательны в своем формате $ xxx, xxx, xxx, Jason. Так что мне нужно только найти этот конкретный формат. (В частности, я бы искал $ xxx, xxx, xxx и $ x, xxx, xxx, xxx и $ xx, xxx, xxx, xxx). Всегда есть место до и после. Каран, спасибо за ответ, однако я не знаю, с чего начать с «регулярных выражений». jmabs 8 лет назад 0
Это выполнимо, но, вероятно, не вопрос SU. Возможно, вы захотите предоставить больше информации о ресурсах, которые у вас есть - если это система на базе Linux, можно написать сценарий для (a) использования WGET или CURL, чтобы разбить все документы, а затем использовать что-то (PHP, Bash, Python) искать соответствующие маркеры в каждом файле и затем распечатывать сводный список. Конечно, этот способ предполагает, что вы используете Linux. davidgo 8 лет назад 0
Я могу войти в корпоративный дистрибутив Red Hat со своего Mac, если это важно. Но, как написано, я не мог написать сценарий "Привет, мир". Так достаточно ли написать что-нибудь для этого достаточно просто, чтобы попросить кого-нибудь помочь мне? Где я должен спросить? Спасибо! (Мне даже было интересно, можно ли что-нибудь написать для Excel, но это может быть наивно) jmabs 8 лет назад 0

1 ответ на вопрос

2
pyrocrasty

Create a new bookmark and paste the following code into the location field:

javascript:%20(function()%20alert(s);}});})(); 

Save it under a name like "Show dollar values". This is a bookmarklet. Click it on a webpage and it will pop up an alert with a list of all dollar values that occur on the page.

The code above relies on JQuery, so if the web page you're using it on doesn't already load JQuery, you'll need to use this Append JQuery bookmarklet first.

customizing the match.

It's fairly easy to modify the values the bookmarklet displays. For instance, the code below is modified to only display 9-figure or higher amounts:

javascript:%20(function()(\d[,]?)+/g%20;%20while%20(m=d.exec(result))%20%20alert(s);}});})(); 

If you find the in that code and replace it by another number, say N, you'll change the cut-off number of digits N+1.

If you wanted to customize this bookmarklet for more general use, you'll need to look up "Javascript regular expressions" to learn the syntax you'll need. This part (/[$](\d[,]?)+/g) of the code is what controls the matching. If you change the part between / and /g, you'll change what the bookmarklet matches.

Это здорово, спасибо, пирократия! Не спрашивать слишком много, но возможно ли, чтобы он возвращал только значения, превышающие 500 000 000 долларов США (или, может быть, всего 100 000 000 долларов США +, отфильтровывая строки длиной менее ... 234 678 012 ... 12 символов)? Спасибо (также, если кто-то когда-либо обнаружит это, обратите внимание, что это работало в Firefox, но не в Chrome или Safari на Mac). jmabs 8 лет назад 0
Я добавил версию, которая находит 9-значный или более (забыл сделать это, прежде чем я отправил). Букмарклеты работают для меня под FF и Chrome на Linux. Не уверен, что происходит в OS X. Вы уверены, что не потеряли характер, когда вставили? pyrocrasty 8 лет назад 0
Должно быть, это так, спасибо! jmabs 8 лет назад 0