Board logo

标题: [原创教程] python 爬虫之获取bathome论坛的最新标题,最新回复,热门主题 [打印本页]

作者: ivor    时间: 2016-2-23 15:23     标题: python 爬虫之获取bathome论坛的最新标题,最新回复,热门主题

拿本论坛作为演示目标网站,实属演示,如有问题,告知删除

本文章旨在交流python下BS4的强大,对于整个网页页面的理解,就是作为一个对象,比如<a href='...' /a>,<div.../div>.每个元素都可以精确定位。包括注释部分
代码少,且能精确获取网页内容,如果你还在用正则截取内容,你就OUT了


中文文档:http://www.crummy.com/software/BeautifulSoup/bs4/doc.zh/     
Beautiful Soup会帮你节省数小时甚至数天的工作时间.

截止我发表Beautiful Soup 4.2.0已经更新了,而且支持python 3.5
  1. #!/usr/bin/env python
  2. # python 3.5.1
  3. import bs4, urllib.request, os
  4. def bathome(soup,idstring):
  5.     homegrids = soup.find(id = idstring)
  6.     a = homegrids.find_all('a')
  7.     #print(homegrids.find_all('a'))
  8.     count = 0
  9.     for i in a:
  10.         count += 1
  11.         if count % 2 == 0:
  12.             print('%-15s文章:%3s' % (str, i.string))
  13.         else:
  14.             str = '用户:%s' % i.string
  15. url = 'http://www.bathome.net/'
  16. web = urllib.request.urlopen(url)
  17. soup = bs4.BeautifulSoup(web,'html.parser')
  18. print("最新主题:")
  19. bathome(soup, 'homegrids_c_1')
  20. print("最新回复:")
  21. bathome(soup, 'homegrids_c_2')
  22. print("热门主题:")
  23. bathome(soup, 'homegrids_c_3')
复制代码

作者: bailong360    时间: 2016-2-23 22:31

更小更清晰~
作者: codegay    时间: 2016-2-24 16:47

白龙好像就是站长。。你放心好了。
作者: bailong360    时间: 2016-2-28 16:11

回复 3# codegay
我一个小中尉啥时候成站长了
站长是Batcher
作者: codegay    时间: 2016-2-28 16:25

回复 4# bailong360


    哦,那就是我弄错了。
作者: CrLf    时间: 2016-2-28 21:47

回复 5# codegay


    啥?这么说你也不是站长?
作者: codegay    时间: 2016-2-28 21:51

回复 6# CrLf


    哈哈。好我要当站长。




欢迎光临 批处理之家 (http://bbs.bathome.net/) Powered by Discuz! 7.2