美文网首页
作业:1.2

作业:1.2

作者: 云清尧 | 来源:发表于2016-07-01 10:19 被阅读0次

<h2>代码</h2>
<pre>
from bs4 import BeautifulSoup

with open('./index.html','r') as wb_data:
soup = BeautifulSoup(wb_data,'lxml')
images = soup.select('body > div > div > div.col-md-9 > div > div > div > img')
titles = soup.select('body > div > div > div.col-md-9 > div > div > div > div.caption > h4 > a')
prices = soup.select('body > div > div > div.col-md-9 > div > div > div > div.caption > h4.pull-right')
reviews = soup.select('body > div > div > div.col-md-9 > div > div > div > div.ratings > p.pull-right')
stars = soup.select('body > div > div > div.col-md-9 > div > div > div > div.ratings > p > span')
#stars = soup.find_all('span',class_='glyphicon-star')
print(stars)
print(images,titles,prices,reviews,stars,sep='\n--------------------\n')
print(len(stars),len(images))
for image,title,price,review,star in zip(images,titles,prices,reviews,stars):

data = {
    'image':image.get('src'),
    'title':title.get_text(),
    'price':price.get_text(),
    'review':review.get_text(),
    'star':len(star),
}
print(data)

</pre>
<h2>成果</h2>

Paste_Image.png

<h2>总结</h2>
改作业的主要目标是爬取一个本地网页中的相关信息。
主要的步骤有:
1.加载这个本地网页。这里用到了with open(还不太懂!)
2.利用BeautifulSoup解析这个网页的内容
3.利用浏览器的“检查”功能,定位要爬取数据的标签并加以整理
4.提取这些信息并利用for循环整理到字典中,并打印出来

<h2>反思</h2>
本次作业主要有两个问题:
1.对于with这个语法还不了解。
2.要爬取的数据中,星级比较难以处理,在网页文件中,几颗星是这样表示的:
<pre>
class="glyphicon glyphicon-star"
class="glyphicon glyphicon-star-empty" #共有5条这样的语句,有几个无“empty”就代表几颗星。
</pre>
老师给出的方法是:
<pre>
stars = soup.select("body > div > div > div.col-md-9 > div > div > div > div.ratings > p > span")
stars_count = len(star)
"star": stars_count
</pre>
但结果是,字典中的star都是0。我认为循环没有将每一个商品的星级给提取出来。stars包括了所有的星级,然后len对其计数。目前我还没有找到合适的解决办法。
我尝试使用find_all来提取数据,能够做到只提取class="glyphicon glyphicon-star" 。但是并没有用。
<pre>
stars = soup.find_all('span',class_='glyphicon-star')
</pre>
不过也算是Get了一个新知识点吧。

相关文章

  • 作业:1.2

    代码 from bs4 import BeautifulSoup with open('./index.html...

  • 1.2 作业

    一 代码中存在两个全局变量,数组a与循环变量i, 数组中每个元素保存着一个匿名函数,该函数引用了循环变量i。在调用...

  • 1.2作业

    我目前处于第2个层次,目标是第3个层次。 未来三年的职业发展规划: 阅读计划:认真研读专业书及教育学相关书籍。 写...

  • 20160105| 1.2作业

    BeautifulSoup用法简说python split 拆分字符串python 判断变量类型为什么少用type...

  • html作业1.2

    作业要求如图: 个人觉得作业要求的表格的表头有问题,于是便没按照要求实现。。。。 最终结果如下图: 如图,我在成果...

  • 课前作业1.2

    什么是真正的生命成长,生命成长的关键点,之前自己成长的误区和理解的偏差 我理解的生命成长,首先认识到有生命,真正体...

  • 用书侠作业1.2

    用书侠作业1.2只做一件事,就像用邮票黏住信封,不达目的不放松 一、我做了哪些事? 只做一件事,就像用邮票...

  • 期中作业1.2(游戏晋级)

    题目 用户玩游戏,每次玩5局,晋级标准如下每次玩游戏不足5局,则不能晋级在5局游戏中,如果80%达到80分以上,则...

  • Python 实战计划1.2作业

    Python 实战计划1.2作业 解析这个本地网页,获取以上信息 我的代码: 总结: 1. 用 beautiful...

  • 花雪价值大楼作业1.2

    记录一 1.伙伴A:陈XY 2.对方原话简单描述: (个案昨天和男朋友分手了,今天早上给男朋友写了一封信)我想过两...

网友评论

      本文标题:作业:1.2

      本文链接:https://www.haomeiwen.com/subject/qdxtjttx.html