随便在该站点搜索药品“氟氯西林钠阿莫西林胶囊”,查看生成结果页面的源代码(如下):
小编给大家推荐一个学习氛围超好的地方,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()
领取专属 10元无门槛券
私享最新 技术干货