博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
爬虫3 html解析器 html_parser.py
阅读量:6425 次
发布时间:2019-06-23

本文共 1130 字,大约阅读时间需要 3 分钟。

#coding:utf8import urlparsefrom bs4 import BeautifulSoupimport re__author__ = 'wang'class HtmlParser(object):    def parse(self, page_url, html_cont):        if page_url is None or 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;    def _get_new_urls(self, page_url, soup):        new_urls = set()        links = soup.find_all('a', href=re.compile(r"/view/\d+\.htm"))        for link in links:            new_url = link['href']            new_full_url = urlparse.urljoin(page_url, new_url);            new_urls.add(new_full_url)        return new_urls    def _get_new_data(self, page_url, soup):        res_data = {}        res_data['url'] = page_url        title_node = soup.find('dd', class_='lemmaWgt-lemmaTitle-title').find("h1")        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

 

转载地址:http://kiyga.baihongyu.com/

你可能感兴趣的文章
Ambari安装Hadoop集群
查看>>
WCF学习之旅—基于ServiceDebug的异常处理(十七)
查看>>
CLREX
查看>>
再也不用担心this指向的问题了
查看>>
使用putty远程连接linux
查看>>
【comparator, comparable】小总结
查看>>
Node 版本管理
查看>>
34、重分布配置实验之分发列表distribute-list
查看>>
命令模式-对象行为型
查看>>
VS2017配置、提高生产力、代码辨识度 (工欲善其事必先利其器)新手必备!
查看>>
[Phoenix] 七、如何使用自增ID
查看>>
路由基本配置(上)
查看>>
windows上传文件到linux乱码解决
查看>>
fpm打包zabbix-agent
查看>>
pythopn List(列表)
查看>>
学习笔记 十五: mariadb
查看>>
学习笔记 124: 预备知识总结
查看>>
windows server之AD(1)
查看>>
如何升级PowerShell
查看>>
oracle kill所有plsql developer进程
查看>>