作家
登录

Python利用Beautifulsoup爬取笑话网站

作者: 来源: 2017-09-19 19:07:54 阅读 我要评论

【沙龙】51CTO诚邀您9月23号和多位技巧大年夜咖一路聊智能CDN的优化之路,抓紧时光哦!


应用Beautifulsoup爬取有名笑话网站

起首我们来看看须要爬取的网站:http://xiaohua.zol.com.cn/

大年夜功告成!剩下的等待文件下载完全就行拉!

效不雅图:

1.开端前预备

1.1 python3,本篇博客内容采取python3来写,如不雅电脑膳绫腔有安装python3请先安装python3.

1.2 Request库,urllib的进级版本打包了全部功能并简化了应用办法。下载办法:

  1. pip install requests 

1.3 Beautifulsoup库, 是一个可以大年夜HTML或XML文件中提取数据的Python库.它可以或许经由过程你爱好的转换器实现惯用的文档导航,查找,修改文档的方法.。下载办法:

1.4 LXML,用于帮助Beautifulsoup库解析网页。(如不雅你不消anaconda,你会发明这个包在Windows下pip安设备错)下载办法:

  1. pip install lxml 
  1. pip install beautifulsoup4 

1.5 pycharm,一款功能强大年夜的pythonIDE对象。下载官方版本后,应用license sever免费应用(同系列产品类似),具体参照http://www.cnblogs.com/hanggegege/p/6763329.html。

2.爬取过程演示与分析

  1. from bs4 import BeautifulSoup 
  2.  
  3. import os 
  4.  
  5. import requests  

导入须要的看维os库用来后期储存爬取内容。

随后我们点开“最新笑话”,发明有“全部笑话”这一栏,可以或许让我们最大年夜效力地爬取所有汗青笑话!

简单分析笑话页面html内容后,接下来获取一个页面全部笑话的内容:

我们来经由过程requests库来看看这个页面的源代码:

  1. from bs4 import BeautifulSoup 
  2.  
  3. import os 
  4.  
  5. import requests 
  6.  
  7. all_url = 'http://xiaohua.zol.com.cn/new/ 
  8.  
  9. headers = {'User-Agent':"Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.1 (KHTML, like Gecko) Chrome/22.0.1207.1 Safari/537.1"
  10.  
  11. all_html=requests.get(all_url,headers = headers) 
  12.  
  13. print(all_html.text)  

header是请求头,大年夜部分网站没有这个请求头会爬取掉败

部分效不雅如下:

经由过程源码分析发明我们照样不克不及经由过程此网站就直接获取到所有笑话的信息,是以我们在在这个页面找一些借居的办法。

点开一个笑话查看全文,我们发明此时网址变成了http://xiaohua.zol.com.cn/detail58/57681.html,在点开其他的笑话,我们发明网址部都是形如http://xiaohua.zol.com.cn/detail?/?.html的格局,我们以这个为冲破口,去爬取所有的内容

每个笑话对应个一一个<li>标签,分析得每个笑话展开全文的网址藏在href傍边,我们只须要获取href就能获得笑话的网址

我们的目标是找到所有形如http://xiaohua.zol.com.cn/detail?/?.html的网址,再去爬取其内容。

我们在“全部笑话”页面随便翻到一页:http://xiaohua.zol.com.cn/new/5.html ,按下F12查看其源代码,按照其构造发明 :

  1. from bs4 import BeautifulSoup 
  2. import os 
  3. import requests 
  4. all_url = 'http://xiaohua.zol.com.cn/new/  
     1/7    1 2 3 4 5 6 下一页 尾页

      推荐阅读

      Java并发编程之并发代码设计

    【沙龙】51CTO诚邀您9月23号和多位技巧大年夜咖一路聊智能CDN的优化之路,抓紧时光哦! 引子之前的文┞仿我们商量了激发线程安然的原因主如果因为多线程的对共享内存的操作导致的可见性或有>>>详细阅读


    本文标题:Python利用Beautifulsoup爬取笑话网站

    地址:http://www.17bianji.com/lsqh/37529.html

关键词: 探索发现

乐购科技部分新闻及文章转载自互联网,供读者交流和学习,若有涉及作者版权等问题请及时与我们联系,以便更正、删除或按规定办理。感谢所有提供资讯的网站,欢迎各类媒体与乐购科技进行文章共享合作。

网友点评
自媒体专栏

评论

热度

精彩导读
栏目ID=71的表不存在(操作类型=0)