2015-11-13 3 views
0

Я хотел бы отображать содержимое веб-страницы: http://movie.webindia123.com/movie/showtimes/asp/search_result.asp?language=57&district_name=42&city_name=118 в табличной форме, но когда я использую суп, тег тела кажется поврежденным пробелом между символами. Исходный код, который я использовал:Красивые теги тела супа повреждены

from bs4 import BeautifulSoup 
import requests 

url="http://movie.webindia123.com/movie/showtimes/asp/search_result.asp?language=57&district_name=42&city_name=118" 
r = requests.get(url) 
soup = BeautifulSoup(r.text) 
print soup 

for hit in soup.findAll(attrs={'class' :'section group'}): 
    text=hit 
    print text.get_text() 
+1

Что вы имеете в виду под «пробел между символами» - вы можете привести пример? – alecxe

+0

Р Е Г о н а л м о о р е с, т е V I е ш, р г е V I E W, W в л л р р е г, с т я л л, т р а я л е р с, т а т я л, т е л е г U, м а л а у а л а т, б о д у б г к о л о г = «# F F F F F F» > –

+0

Да, спасибо, что помогает. Где в HTML вы видите этот текст? – alecxe

ответ

0

Пожалуйста, используйте модуль JSON, чтобы получить доступ к веб-документ, после этого разбора документа с помощью красивый суп. Фрагмент кода, дают ниже:

 #Get HTML 
cj = cookielib.CookieJar() 
browser = mechanize.Browser() 
cj = mechanize.LWPCookieJar() 
browser.set_cookiejar(cj) 
#browser = mechanize.OpenerFactory().build_opener(mechanize.HTTPCookieProcessor(cj)) 
#request = mechanize.Request(url) 
response = browser.open(url) 
html = response.read() 
browser.select_form(name="trace") 
browser["mobilenumber"] = str(site) 
browser.submit() 
html=browser.response().read() 
#print browser.geturl() 
#print html 
#Parse HTML with BeautifulSoup 
soup = BeautifulSoup(html,"lxml") 
Смежные вопросы