2017-01-04 9 views
0

Я работаю над проектом, чтобы просмотреть заголовки новостей Google и найти ключевые слова.Как использовать python для получения заголовков новостей Google и ключевых слов для поиска?

Я хочу его: -Положите заголовки в текстовый файл -remove запятых, апострофы, кавычки, знаки препинания и т.д. -поиск ключевых слов

Это код, который я до сих пор. Я получаю заголовки, теперь мне просто нужно это, чтобы анализировать ключевые слова из каждого отдельного заголовка.

from lxml import html 
import requests 

# Send request to get the web page 
response = requests.get('http://news.google.com') 

# Check if the request succeeded (response code 200) 
if (response.status_code == 200): 

# Parse the html from the webpage 
pagehtml = html.fromstring(response.text) 

# search for news headlines 
news = pagehtml.xpath('//h2[@class="esc-lead-article-title"] \ 
         /a/span[@class="titletext"]/text()') 

# Print each news item in a new line 
print("\n".join(news)) 
+0

Вот, например, один из заголовков: 'Усложнение планы«Brexit», Великобританию Top посланника в Resigns' ЕС ... показать, что выход должен быть после разбора – Andersson

ответ

0

Хорошо, я исправил его.

from lxml import html 
import requests 

# Send request to get the web page 
response = requests.get('https://news.google.com/news/section?cf=all&pz=1&topic=b&siidp=b458d5455b7379bd8193a061024cd11baa97&ict=ln') 

# Check if the request succeeded (response code 200) 
if (response.status_code == 200): 

# Parse the html from the webpage 
pagehtml = html.fromstring(response.text) 

# search for news headlines 
news = pagehtml.xpath('//h2[@class="esc-lead-article-title"] \ 
         /a/span[@class="titletext"]/text()') 

# Print each news item in a new line 
print("\n \n".join(news)) 

tf = open("headlines.txt", "w") 

tf.write("\n \n".join(news).lower()) 

tf.close() 
# puts as lower case in text file named headlines 

with open('headlines.txt', 'r') as inF: 
    for line in inF: 
     if 'inflation' in line: 
      print "\n" + " " + line 
# searches for 'inflation' (or whatever query) and prints in indented on a new line