7-13爬虫入门之BeautifulSoup对网页爬取内容的解析

通过beautifulsoup对json爬取的文件进行元素审查,获取是否含有p标签

# -*- coding:utf-8 -*-
from lxml import html
import requests
import json
import re
import scrapy
from bs4 import BeautifulSoup

#通过beautifulsoup解析文档
def bs4analysis(html_doc):
    soup = BeautifulSoup(html_doc,"lxml")
    if soup.find_all(‘a‘):
        print soup.a.string
        print soup.a.nextSibling
    elif html_doc.find(‘#‘)>=0:
        print ‘有主题‘
        p=re.split(‘#‘,html_doc)
        print ‘p0‘+p[0]
        print ‘p1‘+p[1]
        print ‘p2‘+p[2]
    else:
        print ‘haha‘

html_doc=‘‘‘
<a class=‘k‘ href=‘https://m.weibo.cn/k/SHU毕业季?from=feed‘>#毕业季#</a>  云端祝福!祝全体2017届毕业生及全球人前程似锦。 <a data-url="http://t.cn/RootR20" href="https://m.weibo.cn/p/index?containerid=230444def4f80e7a017ab35b3e37cadc001f32&url_type=39&object_type=video&pos=1&luicode=10000011&lfid=1076033243026514&featurecode=20000320&ep=F9u8aqkyn%2C3243026514%2CF9u8aqkyn%2C3243026514" data-hide=""><span class="url-icon"><img src="https://h5.sinaimg.cn/upload/2015/09/25/3/timeline_card_small_video_default.png"></span></i><span class="surl-text">秒拍视频</a>
‘‘‘
html_doc2=‘‘‘
#早安# 万木沉酣新雨后,百昌苏醒晓风前,四时可爱唯春色,一事能狂便少年。——王国维
‘‘‘

html_doc3=‘‘‘
<a class=‘k‘ href=‘https://m.weibo.cn/k/通知公告?from=feed‘>#通知公告#</a>南区浴室男生区因突发水管爆裂,今日起将关闭2间浴室,请各位提早安排应对。
‘‘‘
html_doc4=‘‘‘
我发表了头条文章:《共建美术学院签约暨上海吴淞国际艺术城发展研究院揭牌仪式举行》 <a data-url=""http://t.cn/RK2rQFs"" href=""http://media.weibo.cn/article?object_id=1022%3A2309404126988389488631&url_type=39&object_type=article&pos=1&luicode=10000011&lfid=1076033243026514&id=2309404126988389488631&ep=Fbk5FbYMp%2C3243026514%2CFbk5FbYMp%2C3243026514"" data-hide=""""><span class=""url-icon""><img src=""https://h5.sinaimg.cn/upload/2015/09/25/3/timeline_card_small_article_default.png""></span></i><span class=""surl-text"">共建美术学院签约暨上海吴淞国际艺术城发展研究院揭牌仪式举行</a> ???
‘‘‘
html_doc5=‘‘‘
<a class=‘k‘ href=‘https://m.weibo.cn/k/SHU分享?from=feed‘>#分享#</a> 斗转星移,岁月如梭<span class=""url-icon""><img src=""//h5.sinaimg.cn/m/emoticon/icon/others/l_xin-8e9a1a0346.png"" style=""width:1em;height:1em;"" [心]""></span>
‘‘‘
if __name__ == ‘__main__‘:
    f = open(‘shuweibo.txt‘, ‘r‘)
    fh = open(‘analysis.txt‘, ‘a‘)
    while True:
        line = f.readline()
        if line == ‘‘:
            break
        print ‘*******************‘
        bs4analysis(line)
        print ‘*******************‘

    f.close()
    fh.close()
时间: 2024-10-07 18:54:06

7-13爬虫入门之BeautifulSoup对网页爬取内容的解析的相关文章

(原)python爬虫入门(2)---排序爬取的辽宁科技大学热点新闻

发现科大网页的源码中还有文章的点击率,何不做一个文章点击率的降序排行.简单,前面入门(1)基本已经完成我们所要的功能了,本篇我们仅仅需要添加:一个通过正则获取文章点击率的数字:再加一个根据该数字的插入排序.ok,大功告成! 简单说一下本文插入排序的第一个循环,找到列表中最大的数,放到列表 0 的位置做观察哨. 上代码: # -*- coding: utf-8 -*- # 程序:爬取点击排名前十的科大热点新闻 # 版本:0.1 # 时间:2014.06.30 # 语言:python 2.7 #--

Python爬虫入门教程 8-100 蜂鸟网图片爬取之三

啰嗦两句 前几天的教程内容量都比较大,今天写一个相对简单的,爬取的还是蜂鸟,依旧采用aiohttp 希望你喜欢爬取页面https://tu.fengniao.com/15/ 本篇教程还是基于学习的目的,为啥选择蜂鸟,没办法,我瞎选的. 一顿熟悉的操作之后,我找到了下面的链接https://tu.fengniao.com/ajax/ajaxTuPicList.php?page=2&tagsId=15&action=getPicLists 这个链接返回的是JSON格式的数据 page =2页码

Python爬虫入门教程:蜂鸟网图片爬取

1. 蜂鸟网图片--简介 国庆假日结束了,新的工作又开始了,今天我们继续爬取一个网站,这个网站为 http://image.fengniao.com/ ,蜂鸟一个摄影大牛聚集的地方,本教程请用来学习,不要用于商业目的,不出意外,蜂鸟是有版权保护的网站. 2. 蜂鸟网图片--网站分析 第一步,分析要爬取的网站有没有方法爬取,打开页面,找分页 http://image.fengniao.com/index.php?action=getList&class_id=192&sub_classid=

Python爬虫入门教程 5-100 27270图片爬取

获取待爬取页面 今天继续爬取一个网站,http://www.27270.com/ent/meinvtupian/ 这个网站具备反爬,so我们下载的代码有些地方处理的也不是很到位,大家重点学习思路,有啥建议可以在评论的地方跟我说说. 为了以后的网络请求操作方向,我们这次简单的进行一些代码的封装操作. 在这里你可以先去安装一个叫做 retrying 的模块 pip install retrying 这个模块的具体使用,自己去百度吧.嘿嘿哒~ 在这里我使用了一个随机产生user_agent的方法 im

【个人】爬虫实践,利用xpath方式爬取数据之爬取虾米音乐排行榜

实验网站:虾米音乐排行榜 网站地址:http://www.xiami.com/chart 难度系数:★☆☆☆☆ 依赖库:request.lxml的etree (安装lxml:pip install lxml) IDEA开发工具:PyCharm_2017.3 Python版本:Python3 期望结果:爬取出排行版歌名以及对应歌手 运行效果图: 音乐排行榜: 爬取数据结果图: 像这种简单的爬取就没必要使用Scrapy框架进行处理,是在有点大材小用,不过如果你刚开始学Scrapy的话,拿这些简单的练

Python3网络爬虫(七):使用Beautiful Soup爬取小说

转载请注明作者和出处:http://blog.csdn.net/c406495762 运行平台: Windows Python版本: Python3.x IDE: Sublime text3 一.Beautiful Soup简介 简单来说,Beautiful Soup是python的一个库,最主要的功能是从网页抓取数据.官方解释如下: Beautiful Soup提供一些简单的.python式的函数用来处理导航.搜索.修改分析树等功能.它是一个工具箱,通过解析文档为用户提供需要抓取的数据,因为简

动态网页爬取例子(WebCollector+selenium+phantomjs)

目标:动态网页爬取 说明:这里的动态网页指几种可能:1)需要用户交互,如常见的登录操作:2)网页通过JS / AJAX动态生成,如一个html里有<div id="test"></div>,通过JS生成<div id="test"><span>aaa</span></div>. 这里用了WebCollector 2进行爬虫,这东东也方便,不过要支持动态关键还是要靠另外一个API -- selen

WebFetch 是无依赖极简网页爬取组件

WebFetch 是无依赖极简网页爬取组件,能在移动设备上运行的微型爬虫. WebFetch 要达到的目标: 没有第三方依赖jar包 减少内存使用 提高CPU利用率 加快网络爬取速度 简洁明了的api接口 能在Android设备上稳定运行 小巧灵活可以方便集成的网页抓取组件 使用文档 WebFetch的使用非常简单,让小白用户快速上手,WebFetch为用户配置默认页面处理方法,默认将抓取到的页面信息使用System.out.print输出到控制台(通过配置PageHandler修改默认操作).

爬虫案例—中基协数据爬取

因为工作原因,需要爬取相关网站的数据,包括中基协网站和天眼查部分数据. 一.中基协网站 爬取思路: 1.查看目标页:http://gs.amac.org.cn/amac-infodisc/api/pof/manager?rand=0.9775162173180119&page=%s&size=50 发现有随机数字串(刷新反爬措施),以及页码和每页信息条数,可以用来拼接爬取url 用一个循环爬取所有展示页面,用到requests库以及random函数生成随机数 返回的是json数据,直接用r