«Открыть» несколько ссылок (новостных статей) и искать определенные слова - PullRequest
1 голос
/ 08 апреля 2020

Я пытаюсь зачитать пару новостных статей этого Отдел новостей и найти два указанных c слова во всех статьях: "сотрудник" и "сотрудники" , Пока что я извлек все ссылки на все новостные статьи на каждой странице (158 страниц).

Код:

import httplib2
from bs4 import BeautifulSoup, SoupStrainer

main_page = 'https://newsroom.bankofamerica.com'
tab = '/press-releases'
page_extension = '?category=All&created=All&page='

http = httplib2.Http()

for page in range(158):

   status, response = http.request('{0}{1}{2}{3}'.format(main_page, tab, page_extension, page))

   print('\nResults on page {0} are:'.format(page + 1))

   for link in BeautifulSoup(response, features="html.parser", parse_only=SoupStrainer('a')):
       if link.has_attr('href') and link['href'].startswith(tab) and main_page + tab != main_page + link['href']:
           print('{0}{1}'.format(main_page, link['href']))

Результат на данный момент:

    Results on page 1 are:
    https://newsroom.bankofamerica.com/press-releases/corporate-and-financial-news/bank-america-report-first-quarter-2020-financial
    https://newsroom.bankofamerica.com/press-releases/corporate-and-financial-news/bank-america-declares-preferred-stock-dividends-10
    https://newsroom.bankofamerica.com/press-releases/corporate-and-financial-news/el-salario-minimo-por-hora-de-bank-america-alcanza-los
    https://newsroom.bankofamerica.com/press-releases/corporate-and-financial-news/bank-america-us-minimum-hourly-wage-reaches-20
    https://newsroom.bankofamerica.com/press-releases/community/bank-america-asigna-250-millones-en-capital-y-10-millones-en-subvenciones
..... other page results.....
    Results on page 158 are:
    https://newsroom.bankofamerica.com/press-releases/economic-and-industry-outlooks/bofa-merrill-lynch-fund-manager-survey-finds-31
    https://newsroom.bankofamerica.com/press-releases/corporate-and-financial-news/bank-america-reports-q4-15-net-income-33b-eps-028
    https://newsroom.bankofamerica.com/press-releases/community/2016-bank-america-chicago-marathon-application-period-opens-march-8
    https://newsroom.bankofamerica.com/press-releases/corporate-and-financial-news/bank-america-declares-preferred-dividends-8
    https://newsroom.bankofamerica.com/press-releases/merrill-lynch/bank-america-merrill-lynch-launches-us-dollar-cross-border-cash

Но это должно:

  1. открыть все ссылки заголовков (но, конечно, я не хочу, чтобы Python действительно открыл браузер 158 * 5 windows физически и кратко sh my p c, хе-хе)
  2. Просто прочитайте каждую новостную статью, которую представляют ссылки.
  3. посчитайте частоту слов «сотрудник» и «сотрудники» каждый раз, когда они появляются в статье.

Мой желаемый результат:

Frequency of "Employee": 500
Frequency of "Employees": 400

Конечно, цифры просто Примеры. Как мне достичь желаемого результата? Большое спасибо, если кто-то может помочь!

...