网页解析器

学习任务
1.认识网页解析器
学习目标
   知识目标
1.熟悉网页解析器
   能力目标
1.能够自主编写网页解析器
获取新URL函数
 #获取新的URL
    def _get_new_urls(self,page_url,soup):
        #存储URL
        new_urls=set();
        #获取所有的URl
        #/view/\d+\.htm
        links=soup.find_all('a',href=re.compile(r''))
        for link in links:
            #获取每一个URL
            new_url=link['href']
            #上面获取的URl不完整要拼接
            #urljoin  这个函数能够按照page_url的格式拼接字符串
            new_full_url=urlparse.urljoin(page_url,new_url)
            new_urls.add(new_full_url)
        return new_urls


解析数据函数
 #解析数据   我们需要解析title和soup两个数据
    def _get_new_data(self,page_url,soup):
        res_data={}
        res_data['url']=page_url;
        #匹配title节点
        title_node=soup.find('dd',class_='lemmaWgt-lemmaTitle-title',).find('h1')
        #获取title的文本信息
        res_data['title']=title_node.get_text();
        summary_node=soup.find('div',class_='lemma-summary')
        res_data['summary'] = summary_node.get_text();
        return res_data


得到新的URL列表函数
 #从cont中解析出两个数据(新的URL列表和数据)
    def  parse(self,page_url,html_cont):
        if page_url is None and html_cont is None:
            return;
        soup=BeautifulSoup(html_cont,'html.parser',from_encoding='utf-8')
        new_urls=self._get_new_urls(page_url,soup)
        #进行解析出新的数据
        new_data = self._get_new_data(page_url, soup)
        return new_urls,new_data


任务实施
    展示代码
    任务实施1图片   任务实施2图片
操作演示
知识点总结
1.网页解析器具备的功能
2.网页解析器需要编写的函数




问题
1.什么是网页解析器
2.网页解析器的作用
3.有哪几种网页解析器


答案
1.从网页中提取有价值信息的工具
2.以下载好的html网页字符串为根本提取出有价值的信息,得出URL列表
3.正则表达式解析:将整个html网页当做字符串来进行模糊匹配
  结构化解析:将整个网页文档加载城一个DOM树来进行解析
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

飞飞翼

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值