Python实战作业:第一周第二次爬取商品信息

第一周第二次作业:爬取商品信息
效果如下:

Python实战作业:第一周第二次爬取商品信息_第1张图片
QQ截图20160521105606.png

代码如下:

from bs4 import BeautifulSoup

with open('D://学习资料/python/Python练习项目/第一周作业/第二次/1_2_homework_required/index.html','r') as wb_data:
    soup = BeautifulSoup(wb_data,'lxml')
    titles = soup.select('body > div > div > div.col-md-9 > div > div > div > div.caption > h4 > a') # 复制每个元素的css selector 路径即可
    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 image, title, price, review, star in zip(images, titles, prices, reviews, stars):
    data = {
        'image' : image.get('src'),
        'title' : title.text,
        'prices': price.text,
        'review': review.text,
        'star'  : len(star.find_all('span',class_= 'glyphicon glyphicon-star'))
    }
    print(data)

总结:
1、获取星星的数量是这次作业的难点,参考答案中用find_all来找到所有的span.glyphicon glyphicon-starxia,用len函数来计算找出来星星。这样就能统计所有的星星的数量了。

你可能感兴趣的:(Python实战作业:第一周第二次爬取商品信息)