2017-07-17 180 views
0

我试图做一个刮板,将打印出该网址的所有房子的事件:BeautifulSoup没有返回结果

https://iflyer.tv/en-jp/listing/events/on/2017-07-22/

但我回去与上面的代码没有结果,任何想法为什么?

from bs4 import BeautifulSoup 
import requests 

headers = {'User-Agent': 'Mozilla/5.0'} 
response = requests.get("http://iflyer.tv/en-jp/listing/events/on/2017-07-22/") 
soup = BeautifulSoup(response.text, "html.parser") 

results= soup.find_all('div', {"class": "genre_list"}) 

for result in results: 
    print(result.find('HOUSE').get_text()) 
+1

,“没有结果”是唯一正确的结果,因为您的输入HTML不包含一个这样的元素。 – CBroe

+0

当我检查页面时,我可以看到它。你会如何写它? – Orophix

回答

1

你不是在寻找合适的元素。您需要先查找div,该类的类别为holdevents。然后查找包含Housedl属性。如果找到,则刮标题和日期并添加到列表中。

from bs4 import BeautifulSoup 
import requests 

headers = {'User-Agent': 'Mozilla/5.0'} 
response = requests.get("http://iflyer.tv/en-jp/listing/events/on/2017-07-22/") 
soup = BeautifulSoup(response.text, "html.parser") 
events = soup.find_all('div', {"class": "holdevent"}) 

house_events = [] 
for event in events: 
    genre_list = event.find('dl', {"class": "genre_list"}) 

    if genre_list.find(text='House'): 
     title = event.find('h1', {'class' : 'title'}).a.text 
     date = event.find('h1', {'class' : 'nicedate'}).text 
     house_events.append((title, date)) 

print(house_events) 

这会为你抓取:如果是应该找genre_list``div`元素与类`

[('Tropical Disco fueled by Chandon Passion', 'SAT, 22 Jul 2017'), 
('West House Crossover Connection VOL.5 -Zakuro 1st Anniversary', 'SAT, 22 Jul 2017'), 
('SUBCULTURE', 'SAT, 22 Jul 2017')] 
+0

放入时仍然没有结果。 – Orophix

+0

@Orophix您没有正确复制代码。现在看。我已经在程序中发布了完整的代码。 –

+1

非常感谢Coldspeed! – Orophix

0
from bs4 import BeautifulSoup 
import requests 

headers = {'User-Agent': 'Mozilla/5.0'} 
response = requests.get("http://iflyer.tv/en-jp/listing/events/on/2017-07-22/") 
soup = BeautifulSoup(response.text, "html.parser") 

results = soup.find_all('div', {"class": "holdevent"}) 
for result in results: 
    print('event') 
    print(result.find('h1', {"class": "nicedate"}).get_text()) 
    print(result.find('h1', {"class": "title"}).get_text())