Программа Python для распечатки веб-ссылок, содержащих определенные слова, ничего не выводит - PullRequest
0 голосов
/ 21 мая 2018

Я хочу распечатать веб-ссылки на новостные статьи, содержащие определенное ключевое слово (скажем, «Тесла»).Итак, я ищу слово «tesla» на главной странице новостей Google, и я написал следующий код для поиска статей со словом «Tesla» в нем (которые должны быть всеми статьями, так как он ищет слово вколлекция статей, которые содержат слово наверняка):

import httplib2
from bs4 import BeautifulSoup, SoupStrainer

http = httplib2.Http()
status, response = http.request('https://news.google.com/search?q=tesla&hl=en-US&gl=US&ceid=US%3Aen')

words_to_search = ['tesla']

for link in BeautifulSoup(response, "lxml", parse_only=SoupStrainer('a')):
    if 'href' in link:
        for word in words_to_search:
            if word in link['href']:
                print(link['href'])

Но я не получаю вывод (или пустой вывод).Почему код не может найти статьи с указанным словом?И как мне это исправить?

1 Ответ

0 голосов
/ 21 мая 2018

Когда вы звоните по ссылке [href], вы тянете URL статьи, который может не содержать слова Tesla.Вы хотите сделать что-то вроде:

resp, content = http.request(link['href'], "GET") 

, чтобы получить фактическое содержимое страницы, которое будет храниться в содержимом.

Кроме того, в примере поиска, который вы видите в примере, выполняется поиск по слову «страхование» в Новостях Google, поэтому, если вы действительно используете эту ссылку, возможно, вы не добавляете статьи с Tesla.,

...