使用beautifulsoup进行Webscraping

时间:2018-02-22 16:51:20

标签: python-3.x web-scraping imdb

我正在尝试使用python3.6从Imdb电影中删除评论。但是,当我打印我的评论'时,只会弹出1条评论,我不知道为什么其余部分不会弹出。我的' review_title'不会发生这种情况。我非常感谢任何建议或帮助,因为我一直在搜索论坛和谷歌搜索但无济于事。

success: function () {
let imageData = JSON.parse(this.files[i].xhr.response);
let img = document.createElement('img');
 img.setAttribute('src', imageData.url);
 img.setAttribute('data-id',imageData.id);
 img.setAttribute('alt', imageData.alt);
 let subDiv = document.createElement('div');
 subDiv.className = "galeri-cart";
 subDiv.appendChild(img);
 let midDiv = document.createElement('div');
 midDiv.className = "col-md-4";
 midDiv.appendChild(subDiv);
 let div = document.querySelector('.row');
 div.insertBefore(midDiv, div.childNodes[0]);
 i++
}

1 个答案:

答案 0 :(得分:1)

如果没有创建任何循环,您如何才能访问该页面的所有内容?编写脚本的方式正是按照预期的方式进行(解析单个评论内容)。请尝试以下方式。它会获取所有可见数据。

from urllib.request import urlopen
from bs4 import BeautifulSoup

url = urlopen('http://www.imdb.com/title/tt0111161/reviews?ref_=tt_ov_rt').read()
soup = BeautifulSoup(url,"html.parser")
for item in soup.find_all(class_="review-container"):
    review_title = item.find(class_="title").text
    review = item.find(class_="text").text
    try:
        rating = item.find(class_="point-scale").previous_sibling.text
    except:
        rating = ""
    print("Title: {}\nReview: {}\nRating: {}\n".format(review_title,review,rating))