爬虫下载文章 BeautifulSoup

栏目: Python · 发布时间: 8年前

内容简介:爬虫下载文章 BeautifulSoup
# coding=utf-8


from bs4 import BeautifulSoup
import urllib
import urllib2
import sys
reload(sys)
sys.setdefaultencoding('utf8')
url = 'http://www.pythontab.com/html/pythonhexinbiancheng/index.html'

request = urllib2.urlopen(url)

html = request.read()

# print html

# 解析方式
soup = BeautifulSoup(html, 'html.parser')
'''
 <ul class="list lh24 f14" id="catlist">
                    <li>
                <h3>Python高级教程</h3>
                <a href="http://www.pythontab.com/html/2017/pythonhexinbiancheng_0821/1166.html" target="_blank" >
                <h2>一名数据挖掘工程师给新人整理的入门资料</h2>  </a>
                <p>四年前我一次听说数据挖掘这个词,三年前我学习了数据挖掘理论知识,两年前我做了几个与数据挖掘有关的项目,一年前我成为一名数据挖掘工程   <a href="http://www.pythontab.com/html/2017/pythonhexinbiancheng_0821/1166.html" class="content_detail" target="_blank">[详细]</a></p>
            </li>
'''

# 先通过id 找 再通过标签找,注意空格必须有

# 找到链接和标题
items = soup.select('#catlist > li > a')

# 只找到标题
titles = soup.select('#catlist > li > a > h2')

# 找超链接和标题,方便后续分割
links = soup.select('#catlist > li > a')
for i in items:
    print i.get_text()

# zip函数,titles和links是列表通过zip将两个列表下标对应的两个作为字典
'''
l1 = [1,2,3]
l2 = {'a','b','c'}
d = zip(l1,l2)

[(1, 'a'), (2, 'c'), (3, 'b')]
'''

items = []
for title, link in zip(titles, links):
    data = {
        'title': title.get_text(),  # 获取标签的文本
        'link': link.get('href')  # 获取标签的属性
    }
    items.append(data)

# 输出标题和链接
for i in items:
    print i['title'], i['link']

'''
 <div class="content">
 
'''
# 获取超链接内容
for i in items:
    request = urllib2.urlopen(i['link'])
    html = request.read().encode('utf-8')
    soup = BeautifulSoup(html, 'html.parser')
    title = i['title']
    texts = soup.select('div.content > p')
    content = []
    for t in texts:
        content.append(t.get_text().encode('utf-8'))

    with open('file/%s.html' % title, 'wb') as f:
        f.write(i['title']+'\n'+html)
       # for cont in content:
        #    f.write(cont+'\n')

 


以上所述就是小编给大家介绍的《爬虫下载文章 BeautifulSoup》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

Linux程序设计

Linux程序设计

Neil Matthew、Richard Stones / 陈健、宋健建 / 人民邮电出版社 / 201005 / 99.00元

时至今日,Linux系统已经从一个个人作品发展为可以用于各种关键任务的成熟、高效和稳定的操作系统,因为具备跨平台、开源、支持众多应用软件和网络协议等优点,它得到了各大主流软硬件厂商的支持,也成为广大程序设计人员理想的开发平台。 本书是Linux程序设计领域的经典名著,以简单易懂、内容全面和示例丰富而受到广泛好评。中文版前两版出版后,在国内的Linux爱好者和程序员中也引起了强烈反响,这一热潮......一起来看看 《Linux程序设计》 这本书的介绍吧!

HTML 压缩/解压工具
HTML 压缩/解压工具

在线压缩/解压 HTML 代码

在线进制转换器
在线进制转换器

各进制数互转换器

HTML 编码/解码
HTML 编码/解码

HTML 编码/解码