首页 > 编程语言 >20行代码简单python爬虫,爬虫实例

20行代码简单python爬虫,爬虫实例

时间:2022-11-05 14:33:15浏览次数:45  
标签:xpath 20 python text 爬虫 content html doc requests

函数介绍

 

函数功能简单介绍

 

库函数介绍 

import requests#请求网页
from lxml import etree#对网页进行解析

函数功能介绍 

 

函数1 

def getdata(url):
    html=requests.get(url).text
    # print(html)
    doc=etree.HTML(html)#构造xpath的解析对象
    contents=doc.xpath('//*[@class="cf"]/li')
    # print(contents)
    for content in contents:
        links=content.xpath('h2/a/@href')
        for link in links:
            hurl="https:"+link#小说某一章的网址
            html=requests.get(hurl).text#获取到源代码
            doc=etree.HTML(html)#构造xpath解析对象
            title=doc.xpath('//*[@class="text-wrap"]/div/div[1]/h3/span[1]/text()')
            content=doc.xpath('//*[@class="read-content j_readContent"]/p/text()')
            with open('novel/%s.txt'%title[0],mode='w',encoding='utf-8') as f:
                for abd in content:
                    f.write(abd)

函数功能比较简单,所以就没有对其中的保存小说的函数进行封装,有兴趣的可以自己尝试一下。

 

完整代码 

 
#获取起点小说的爬虫程序
#倒推法
import requests
from lxml import etree
url="https://book.qidian.com/info/1979049/#Catalog"#小说的网址
def getdata(url):
    html=requests.get(url).text
    # print(html)
    doc=etree.HTML(html)#构造xpath的解析对象
    contents=doc.xpath('//*[@class="cf"]/li')
    # print(contents)
    for content in contents:
        links=content.xpath('h2/a/@href')
        for link in links:
            hurl="https:"+link#小说某一章的网址
            html=requests.get(hurl).text#获取到源代码
            doc=etree.HTML(html)#构造xpath解析对象
            title=doc.xpath('//*[@class="text-wrap"]/div/div[1]/h3/span[1]/text()')
            content=doc.xpath('//*[@class="read-content j_readContent"]/p/text()')
            with open('novel/%s.txt'%title[0],mode='w',encoding='utf-8') as f:
                for abd in content:
                    f.write(abd)
a=getdata(url)

函数功能介绍 

 

 

 

 

 

 

 学习了entree对网页源码进行解析,requests库对网页进行解析获得源码,同时代码中还用到了获取标签xpath的方法,xpath的解析将在下一篇文章进行解析。

标签:xpath,20,python,text,爬虫,content,html,doc,requests
From: https://www.cnblogs.com/liuyebai/p/16858285.html

相关文章

  • 问题解决:vscode运行python找不到文件
    问题描述:使用VSCode执行Python代码调用其他文件时报FileNotFound错误,终于发现是VSCode工作路径默认是当前文件所在工作区的根目录,而不是当前文件所在目录。发生条件:根......
  • 【python】都2022年不会还有人不会在电脑桌面上养宠物吧~
    前言嗨喽~大家好呀,这里是魔王呐!上班枯燥,对着冷冰冰的电脑,相信很多小伙伴即使摸鱼,心情也不愉快。这时如果有个萌宠能大家进行实时互动,这该有多好呀。再无聊的工作也能......
  • 【交通标志识别】基于matlab HOG特征机器学习交通标识识别【含Matlab源码 2200期】
    一、SVM路标检测识别简介1路标识别完整的路标识别系统包括:图像的获取与预处理,图像分割(路标定位),特征提取,模式分类(路标识别)等部分。其中模式分类是系统的关键技术。较常用的......
  • Python基础用法
      有人说:一个人从1岁活到80岁很平凡,但如果从80岁倒着活,那么一半以上的人都可能不凡。生活没有捷径,我们踩过的坑都成为了生活的经验,这些经验越早知道,你要走的弯路就会越少......
  • 更多了解 Python: 一些有趣的知识介绍
      有人说:一个人从1岁活到80岁很平凡,但如果从80岁倒着活,那么一半以上的人都可能不凡。生活没有捷径,我们踩过的坑都成为了生活的经验,这些经验越早知道,你要走的弯路就会越少......
  • 2022.11.05
    2022.11.05P5024这题在任务栏里摆了一周终于A了。。。只能说写的挺扭曲的,但还好过了。做法:用倍增数组处理状态,然后在询问时分类讨论两点是否在一条链上,最后用倍增数组......
  • 2022期中测试题目-校园社团活动管理系统
    题目要求:校园社团作为高校课外活动的重要组成部分,发展十分迅速,也受到越来越多学生的欢迎,社团规模、数量等都在日益增长,社团活动也更为多样和丰富。然而,大多数高校还没有一......
  • 2023最新傻瓜式下载喜马拉雅音频文件,看不懂代码的你值得拥有
    傻瓜式教学如果还是学不会那不然,洗洗睡吧首先打开喜马拉雅网页版,随便点击一个节目,这里我用平时常听的“3分钟心理学”举例https://www.ximalaya.com/album/11848122......
  • python 类
    classperson:name='xxp'age=18defintro(self):print('mynameis'+self.name)p=person()'''payattentiontodisti......
  • 2022-2023-1 20201324《信息安全系统设计与实现(上)》第12章
    1块设备I/O缓冲区文件系统使用一系列I/O缓冲区作为块设备的缓存内存。当进程试图读取(dev,blk)标识的磁盘块时,它首先在缓冲区缓存中搜索分配给磁盘块的缓冲区。如果该缓......