Форум сайта python.su
Здравствуйте , друг дал мне задачку:
Вывести список “жанров” при запуске скрипта
Your text to link here…
уже подключил requests(v2.5) и beautifulsoup(v4.3) (по его подсказке) __ Python v2.7 , OC windows8
Насколько я понимаю , алгоритм такой:
1) Подключение к сайту , при помощи requests
2) Запись в переменную информации, которую мы отсеяли при помощи (beautifulsoup)
3) Вывод переменной на экран
Вот , как реализовать в коде, пока что не знаю, впервые столкнулся)
Читаю документацию, но толком не могу понять . как они работают и как их связать, в голове каша
Можете написать пример , и с которым обьяснением или ссылкой на него))
Отредактировано sourser (Фев. 18, 2015 17:43:57)
Офлайн
13
Ну если не надо привязываться к бьэтифулсоупу и реквесту, то вот ваша задач решена с помощью библиотеки для парсинга граб.
from grab import Grab g = Grab() g.go("http://fs.to/video/films/group/film_genre/") print(g.doc.select('//div[@class="main"]').text())
Офлайн
221
1) получаем html содержимое страницы
response = requests.get(url) html = response.text
bs=bs4.BeautifulSoup(html) result=[] for i in bs.find_all(class_= 'b-list-links'): for j in i.find_all('a'): result.append(j.get('href'))
for value in result: print(value.split('/')[-2])
Отредактировано JOHN_16 (Фев. 18, 2015 23:22:17)
Офлайн
Спасибо огромное , буду разбираться)
но у меня пишет:
NameError: name ‘bs4’ is not defined
import requests from bs4 import BeautifulSoup response = requests.get('http://fs.to/video/films/group/film_genre/') html = response.text bs=bs4.BeautifulSoup(html) result=[] for i in bs.find_all(class_= 'b-list-links'): for j in i.find_all('a'): result.append(j.get('href')) for value in result: print(value.split('/')[-2])
Офлайн
221
sourser
прошу прощения, это я опечатался:
bs=BeautifulSoup(html)
Отредактировано JOHN_16 (Фев. 19, 2015 01:21:39)
Офлайн
JOHN_16Теперь пишет о том, что:
sourserпрошу прощения, это я опечатался:
File "C:\Python27\IT\bs.py", line 17, in <module> bs=bs.BeautifulSoup(html) NameError: name 'bs' is not defined
bs = {}
AttributeError: 'dict' object has no attribute 'BeautifulSoup'
Офлайн
61
bs = bs4… а не bs = bs….
Офлайн
ZerGя не досмотрел)
bs = bs4… а не bs = bs….
Офлайн
61
Это смотря каким именно методом реализуете 
Офлайн