Python爬虫练习1_小作文下载 - 新闻资讯 - 云南小程序开发|云南软件开发|云南网站建设-昆明葵宇信息科技有限公司

159-8711-8523

云南网建设/小程序开发/软件开发

知识

不管是网站,软件还是小程序,都要直接或间接能为您产生价值,我们在追求其视觉表现的同时,更侧重于功能的便捷,营销的便利,运营的高效,让网站成为营销工具,让软件能切实提升企业内部管理水平和效率。优秀的程序为后期升级提供便捷的支持!

您当前位置>首页 » 新闻资讯 » 技术分享 >

Python爬虫练习1_小作文下载

发表时间:2020-10-19

发布人:葵宇科技

浏览次数:34

作文下载

  • 准备工具
  • 步骤分析与代码实现

准备工具

  • 本机环境:Windows10专业版
  • 操作系统:64位
  • Python版本:python 3.8
  • 运行工具:PyCharm 2020.2

步骤分析与代码实现

开始之前先导入一些库

import requests
from lxml import etree
  1. 获取网页源代码
    打开一个网站分析一下
    在这里插入图片描述
    1就是url
    2是文章标题
    3是内容
    之后会放进代码里,先获取到这个界面的网页

    url = requests.get('https://www.chnlib.com/zuowenku/')
    html = url.content.decode()#对乱码处理,这里没写内容默认值就是‘UTF-8’
    print(html)
    

    返回结果
    在这里插入图片描述
    这就是网页的代码,这就证明我们访问到这个页面了。

  2. 获取作文篇章的url
    已经可以获取到网页源代码了,接下来就解析我们要的文章在哪里,可以看到界面是每一个文章都是有一个链接的,F12可以查看网页源代码。点击右上角小箭头,选中网页的作文,可以在右边看见一个<a>标签这就是文章的链接,每一个文章都需要打开一个链接。
    在这里插入图片描述
    在这里插入图片描述
    下面就要解析一下,怎么获取这些链接,通过源代码可以看出他们都是统一的格式都是在一个<div>下面有一个<h4>再下面获取<a>,下面就用xpath来获取这个<h4>标签,简单的方法就是在页面上右击<h4>有一个copy-> copy xpath 可以直接获取xpath路径

    • 构造一个xpath用来解析
    	doc = etree.HTML(html) #构造xpath解析对象@选取对象
    	contents = doc.xpath('//*[@class="list-group"]/div')
    	print(contents)
    

    在这里插入图片描述
    查看一下contents发现是一个Element,看不到内容,这个时候就需要遍历这个Element,用for in去取<h4>下面<a>中的 href

    • 获取每一个文章的url
          for content in contents:
      		links = content.xpath('h4/a/@href') #获取超链接
      		print(links)
      

    在这里插入图片描述
    这样每一篇文章的url都获取到了,接下来就该获取每一篇文章的标题以及内容。下面仍然用xpath的方式去获取。

    • 获取标题和文章内容
      content = doc.xpath('//*[@id="content"]/p/text()')#获取文本
      title = doc.xpath('/html/body/div[4]/div/div[1]/div/div[1]/h1/text()') #获取标题
      title1 = [t.replace('\r\n','') for t in title]
      
      至此每一篇文章的标题和内容都获取到,最后把获取到的数据保存下来
  3. 存储数据

             with open('download/%s.txt' %title1[0], 'w', encoding='utf-8') as f:
                for items in content:
                    f.write(items)
    

相关案例查看更多