Форум сайта python.su
Добрый день! Недавно начал изучать Python, прошу строго не судить. Суть проблемы такая, пишу парсер google, таким образом что бы он подставлял ключевые слова в запрос , затем полученный ответ записывал в текстовый файл с ( сылка, титул, краткое описание). Ссылки я смог получить, но возникла проблема с титлом и кратким описанием ссылок.
import requests from lxml.html import fromstring GOOGLE_SERCHE = 'https://www.google.ru/search?q={}' KYE = 'python' ITEM_PARS = '.r' #r ссылки def main(): write_info(get_pages()) def get_pages(): r = requests.get(GOOGLE_SERCHE.format(KYE)) ref = fromstring(r.text) for e in ref.cssselect(ITEM_PARS): a = e.cssselect('a')[0] href = a.get('href').lstrip('\/url?q=').split('&',1)[0] return(href) def write_info(serche): f = open("resut.txt","w") f.write(serche) f.close if __name__ == '__main__': main()
Офлайн
Ошибка!
Ты в main() вызываешь write_info и get_pages, а нельзя! Выучи ООП и поймешь что для вызова функции, команда которая ее вызывает должна стоять после обьявления функции:
import requests from lxml.html import fromstring GOOGLE_SERCHE = 'https://www.google.ru/search?q={}' KYE = 'python' ITEM_PARS = '.r' #r ссылки def write_info(serche): f = open("resut.txt","w") f.write(serche) f.close def get_pages(): r = requests.get(GOOGLE_SERCHE.format(KYE)) ref = fromstring(r.text) for e in ref.cssselect(ITEM_PARS): a = e.cssselect('a')[0] href = a.get('href').lstrip('\/url?q=').split('&',1)[0] return(href) def main(): write_info(get_pages()) if __name__ == '__main__': main()
Офлайн
python335Эм, спасибо за внимание к теме, но вопрос был - как вытащить данные из тега <span>, href я нормально и так вытаскиваю и без перестановки функций местами.
Ошибка!Ты в main() вызываешь write_info и get_pages, а нельзя! Выучи ООП и поймешь что для вызова функции, команда которая ее вызывает должна стоять после обьявления функции:
Офлайн