找回密码
 立即注册

扫一扫,访问微社区

QQ登录

只需一步,快速开始

查看: 6828|回复: 6

[代码与实例] 【爬虫】永久查看糗事百科热门笑话

4

主题

77

帖子

77

积分

版主

Rank: 7Rank: 7Rank: 7

积分
77

活跃会员热心会员默默耕耘优秀版主论坛元老

北极 发表于 2016-11-2 10:25:57 | 显示全部楼层 |阅读模式
本帖最后由 北极 于 2016-11-2 10:25 编辑

****************************************************************************************************
知识点:
1.urllib2   了解
2.re  了解
3.beautifulSoup   了解

使用beautifulsoup是为了不管糗百如何变化span的结构,我们都能爬取到内容。从而一劳永逸!

****************************************************************************************************

代码:
  1. # coding:utf-8
  2. #!/usr/bin/python

  3. import urllib2
  4. import re
  5. from bs4 import BeautifulSoup


  6. number =0  #定义序号变量
  7. page = raw_input("Please input page:")
  8. user_agent = 'Mozilla/4.0 (compatible; MSIE 5.5; Windows NT)'
  9. headers = { 'User-Agent' : user_agent }
  10. request = urllib2.Request('http://www.qiushibaike.com/hot/page/'+str(page)+'/?s=4915651',headers = headers)
  11. response = urllib2.urlopen(request)
  12. html = response.read()   #获取页面源码
  13. soup = BeautifulSoup(html,"html.parser")
  14. items = soup.find_all('div',attrs={"class":"content"}) #搜索div标签并且同时含有class=content内容

  15. for item in items:
  16.     number +=1
  17.     pattern = re.compile('<span>(.*?)</span>',re.S)
  18.     lists = re.findall(pattern,str(item))
  19.     for list in lists:
  20.         print 'NO',number,':',list.decode('utf-8'),'\n'
  21.    
  22. print "End..."
复制代码

效果:
QQ图片20161102102504.png


回复

使用道具 举报

50

主题

1057

帖子

1108

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
1108

活跃会员热心会员最佳导师默默耕耘突出贡献优秀版主荣誉管理论坛元老

blueelwang 发表于 2016-11-2 19:31:24 | 显示全部楼层
{:8_204:}  非常实用!
回复 支持 反对

使用道具 举报

0

主题

3

帖子

3

积分

贫民

积分
3
sqlfeng 发表于 2016-11-4 12:20:21 | 显示全部楼层
非常实用!感谢分享
回复 支持 反对

使用道具 举报

1419

主题

1891

帖子

291

积分

侠客

积分
291

最佳新人热心会员默默耕耘

whydo1 发表于 2016-11-4 21:04:18 | 显示全部楼层
支持!
python3.4.4, win10
回复

使用道具 举报

2

主题

6

帖子

6

积分

贫民

积分
6
aliali 发表于 2016-11-12 18:54:00 | 显示全部楼层
参考一下,实验一下
回复 支持 反对

使用道具 举报

7

主题

32

帖子

32

积分

贫民

积分
32
QQ
小鱼 发表于 2017-1-26 00:54:25 | 显示全部楼层
python 2点几啊
回复 支持 反对

使用道具 举报

4

主题

77

帖子

77

积分

版主

Rank: 7Rank: 7Rank: 7

积分
77

活跃会员热心会员默默耕耘优秀版主论坛元老

北极  楼主| 发表于 2017-3-23 14:50:30 | 显示全部楼层

python2.7
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

快速回复 返回顶部 返回列表