首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Python爬取药品价值,深析药品成倍涨价的秘密!

随便在该站点搜索药品“氟氯西林钠阿莫西林胶囊”,查看生成结果页面的源代码(如下):

小编给大家推荐一个学习氛围超好的地方,python交流企鹅裙:四七四五三四九五一!适合在校大学生,小白,想转行,想通过这个找工作的加入。裙里有大量学习资料,有大神解答交流问题,每晚都有免费的直播课程

好了,了解到这些之后,下面我们就开始写Python代码了。

一、使用到的软件工具

Python 2.7

Eclipse

二、导入需要用到的模板

其中myLog是一个自定义模板,其实就是对logging模板的简单格式化,Python代码如下:

1 for name in names:

2 if name != '':

3 self.log.info(u'尝试爬取%s 信息' % name.decode('GBK'))

4 url = '网页链接('GBK')

5 htmlcontent = self.getresponsecontent(url)

123

的这一段之中,有我们需要的页码值,而我们只需要最后一页,也就是最大值。

从python运行结果来看,效果还算满意,通过tagul.find_all('a')得到的列表最后一条基本都是结果页面最后一页的页码。但如果结果页面过多的时候,可以看到最后一页的页码不在列表的最后,而是处于列表的倒数第二行。修改增加如下python代码,利用 try来让python程序自动选择提取最后一行还是倒数第二行。

1 if len(tagpage) == 0:

2 page = 0

3 else:

4 try:

5 page = int(tagpage[-1].get_text().strip())

6 except:

7 page = int(tagpage[-2].get_text().strip()

  • 发表于:
  • 原文链接http://kuaibao.qq.com/s/20180419A05SBZ00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券