1217班week1-2

一、总结,本次作业,真的收获很多,
1、windows 平台,暴露了很多问题,首先是路径问题,而后安装几个库,也是,都解决了
2、大小写问题,soup 我的是小写。老是报错
3、复制出来,粘贴后出现问题,我在代码中标出了。
二、成果展现

1217班week1-2_第1张图片
1-2.jpg

三、代码,注意,直接从pycharm 复制代码,粘贴是格式不对的,我只有粘贴到记事本,而后再粘贴到这里才可以,

from bs4 import BeautifulSoup
path = './index.html'  #  路径自己修改

with open(path, 'r') as ww:
    soup = BeautifulSoup(ww, 'lxml')  #z注意大小写  ,


    #titles = Soup.select('body > div > div > div.col-md-9 > div > div > div > div.caption > h4 > a') # div 两边的空格都不能少,格式要求较严格
   # titles = Soup.select('body > div > div > div.col - md - 9 > div > div > div > div.caption > h4 > a')
    titles = soup.select('body > div > div > div.col-md-9 > div > div > div > div.caption > h4 > a')
   # body > div > div > div.col - md - 9 > div > div > div > div.caption > h4 > a   大家要小心,这里复制出来-号周围有空格,这是不行的,一定要去掉空格,我是windows系统
    #body > div > div > div.col-md-9 > div > div > div > div.caption > h4 > a
    #body > div:nth-child(2) > div > div.col-md-9 > div:nth-child(2) > div:nth-child(3) > div > div.caption > h4.pull-right


    images = soup.select('body > div > div > div.col-md-9 > div > div > div > img')
    reviews = soup.select('body > div > div > div.col-md-9 > div > div > div > div.ratings > p.pull-right')
    prices = soup.select('body > div > div > div.col-md-9 > div > div > div > div.caption > h4.pull-right')
    stars = soup.select('body > div > div > div.col-md-9 > div > div > div > div.ratings > p:nth-of-type(2)')

for title, image, review, price, star in zip(titles, images, reviews, prices, stars):
    data = {
        'title'  : title.get_text(),
        'image'  : image.get('src'),
        'review' : review.get_text(),
        'price'  : price.get_text(),
        'star'   : len(star.find_all("span", class_='glyphicon glyphicon-star'))
    }

    print(data)

你可能感兴趣的:(1217班week1-2)