python简单实现网络爬虫

这篇具有很好参考价值的文章主要介绍了python简单实现网络爬虫。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

前言

        在这一篇博客中,我会用python来实现一个简单的网络爬虫。简单的爬取一下一些音乐网站、小说网站的标题、关键字还有摘要!所以这个爬虫并不是万能爬,只针对符合特定规则的网站使用。(只使用于爬标题、关键字和摘要的,所以只能爬在head标签中这三个信息都有的且meta标签中name参数在本文信息前面的网站。)希望大家看了这篇博客,能对大家学习爬虫有些帮助!(并不是很高深的爬虫,很基础!!!)

要用到的知识

        要用到的知识都是比较简单的啦,基本上花点时间都能学会。

        首先就是python的基础语法啦,会用能看懂就好。(会有一些文件读取的操作)

        还有就是关于爬虫的一些知识了:贪婪匹配和惰性匹配(re解析方式解析网页源代码)

        还需要一丢丢前端的知识:只需要大概看得懂html源代码就行(知道是在干嘛的)

        这些就差不多了(b站是最好的大学(主要是我懒,也没时间写这些))

爬虫的具体实现

        先拿一个网站做例子分析,打开酷狗官网,右键点击检查:

python简单实现网络爬虫

         红框中的就是我们需要提取的信息啦。这还是很容易提取出来的。使用re模块里面的贪婪匹配与惰性匹配,将想要的数据提取出来就好。例如:

 obj = re.compile(r'<title.*?>(?P<title>.*?)</title>.*?'
                  r'<meta.*?name="keywords".*?content="(?P<keywords>.*?)".*?>'
                  r'<meta.*?name="description".*?content="(?P<description>.*?)".*?>', re.S)

        在上面我们只用了一次compile函数就完成了匹配。

        但是我,我们需要提取的并不止是酷狗官网,还有其他一些网站。上面代码写的规则并不适合一些网站,比如,一些网站把标题放在最后面,关键字和摘要放在前面,那么我们就匹配不到想要的信息。这个也比较好解决,将一条compile拆成多条compile就行。

    obj1 = re.compile(r'<title.*?>(?P<title>.*?)</title>', re.S)
    obj2 = re.compile(r'<meta.*?name="keywords".*?content="(?P<keywords>.*?)".*?>', re.S)
    obj3 = re.compile(r'<meta.*?name="description".*?content="(?P<description>.*?)".*?>', re.S)

        下面是整个python源代码(在源代码里面使用了文件读取将提取到的信息保存到文件里面):

import requests
import re
import csv

urls = []

# 分别是酷狗音乐、酷我音乐、网易云音乐、起点中文网、咪咕音乐、bilibili、qq音乐
urls.append("https://www.kugou.com/")
urls.append("http://www.kuwo.cn/")
urls.append("https://music.163.com/")
urls.append("https://www.qidian.com/")
urls.append("https://www.migu.cn/index.html")
urls.append("https://www.bilibili.com/")
urls.append("https://y.qq.com/")

# 打开csv文件
f = open("test.csv", mode="w", encoding="utf-8")
csvwriter = csv.writer(f)
csvwriter.writerow(["标题","关键字","摘要"])

# 对所有网站进行get访问,获取源代码后用re模块将想要提取的内容提取出来
for url in urls:
    # 向网页发出请求
    resp = requests.get(url)
    # 设置字符编码
    resp.encoding = 'utf-8'
    # 使用非贪婪匹配.*?(惰性匹配),re.S用来匹配换行符
    obj1 = re.compile(r'<title.*?>(?P<title>.*?)</title>', re.S)
    obj2 = re.compile(r'<meta.*?name="keywords".*?content="(?P<keywords>.*?)".*?>', re.S)
    obj3 = re.compile(r'<meta.*?name="description".*?content="(?P<description>.*?)".*?>', re.S)
    # 对网页源代码进行匹配
    result1 = obj1.finditer(resp.text)
    result2 = obj2.finditer(resp.text)
    result3 = obj3.finditer(resp.text)
    # 创建一个队列来将数据保存,方便写入csv文件中
    lis = []
    for it in result1:
        #print("标题:",it.group("title"))
        lis.append(it.group("title"))
    for it in result2:
        #print("关键字:",it.group("keywords"))
        lis.append(it.group("keywords"))
    for it in result3:
        #print("摘要:",it.group("description"))
        lis.append(it.group("description"))
    print(lis)
    print()
    # 将队列写入csv文件
    csvwriter.writerow(lis)
    # 关闭请求
    resp.close()
print('over!')
# 关闭文件指针
f.close()

        下面是运行结果图:

python简单实现网络爬虫

        用WPS打开这个csv文件进行查看: 

python简单实现网络爬虫

         在pycharm中打开csv文件查看是否将数据写入文件中:

python简单实现网络爬虫

结语

        好矛盾好纠结,又想把思路写清楚又感觉没必要。。。。。。

        感谢浏览这篇博客,希望这篇博客的内容能对你有帮助。

        文章来源地址https://www.toymoban.com/news/detail-448985.html

到了这里,关于python简单实现网络爬虫的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • python爬虫的简单实现

    当涉及网络爬虫时,Python中最常用的库之一是requests。它能够发送HTTP请求并获取网页内容。下面是一个简单的示例,展示如何使用requests库来获取一个网页的内容: import requests url = ‘https://example.com’ response = requests.get(url) if response.status_code == 200: # 输出网页内容 print(response

    2024年02月13日
    浏览(46)
  • python实现简单的爬虫功能

    前言 Python是一种广泛应用于爬虫的高级编程语言,它提供了许多强大的库和框架,可以轻松地创建自己的爬虫程序。在本文中,我们将介绍如何使用Python实现简单的爬虫功能,并提供相关的代码实例。 如何实现简单的爬虫 1. 导入必要的库和模块 在编写Python爬虫时,我们需要

    2024年02月14日
    浏览(47)
  • Python网络爬虫爬取招聘数据(利用python简单零基础)可做可视化

    身为一个求职者,或者说是对于未来的职业规划还没明确目标的大学生来说,获取各大招聘网上的数据对我们自身的发展具有的帮助作用,本文章就简答零基础的来介绍一下如何爬取招聘数据。 我们以东莞的Python数据分析师这个职位来做一个简单的分析,页面如下图所示:

    2024年02月03日
    浏览(58)
  • python网络爬虫之selenium的详细安装配置以及简单使用--菜鸟复习日记

     学习python selenium已经是好久以前的事情了,自己都快要忘记了,所以写篇博客复习复习,本文包括安装selenium驱动以及selenium的一些简单使用。本文默认安装python以及selenium库。 目录 一、安装seleium的驱动(以谷歌浏览器为例) 二、selenium库的一些简单用法。         1.向输入框

    2024年02月06日
    浏览(39)
  • 使用 Python 实现简单的爬虫框架

    爬虫是一种自动获取网页内容的程序,它可以帮助我们从网络上快速收集大量信息。在本文中,我们将学习如何使用 Python 编写一个简单的爬虫框架。 一、请求网页 首先,我们需要请求网页内容。我们可以使用 Python 的 requests 库来发送 HTTP 请求。在使用之前,请确保已安装该

    2024年02月03日
    浏览(38)
  • python实现网络爬虫代码_python如何实现网络爬虫

    python实现网络爬虫的方法:1、使用request库中的get方法,请求url的网页内容;2、【find()】和【find_all()】方法可以遍历这个html文件,提取指定信息。 python实现网络爬虫的方法: 第一步:爬取 使用request库中的get方法,请求url的网页内容 编写代码[root@localhost demo]# touch demo.py [

    2024年01月20日
    浏览(48)
  • 如何用Python实现一个简单的爬虫?

    作为一名程序员,我深知爬虫技术在现代互联网领域中的重要性。因此,今天我来分享一下如何用Python实现一个简单的爬虫。 简单来说,爬虫就是一种自动化程序,通过网络协议来获取特定网站的信息,例如图片、文字、视频等等。这些信息可以是公开数据,也可以是需要用

    2024年02月07日
    浏览(43)
  • python喜马拉雅爬虫简单实现(超详细注释)

    没啥就是闲着,爬了爬盗墓笔记 值得注意的是,我发现喜马拉雅的资源地址不是固定的。也就是说上面代码里的网页资源地址需要重新获取。 

    2024年02月19日
    浏览(48)
  • 【用Vscode实现简单的python爬虫】从安装到配置环境变量到简单爬虫以及python中pip和request,bs4安装

    第一步:安装python包  可以默认,也可以选择自己想要安装的路径 python下载资源链接: Download Python | Python.org 第二步: 配置python环境变量,找到我的电脑-属性-高级-环境变量 找到python,新增 然后将刚刚安装的路径配置到path路径下: 特别注意,配置了环境变量后要进行重启电

    2024年02月15日
    浏览(54)
  • 【小5聊】Python3 使用selenium模块实现简单爬虫系列一

    第一次听说Python还是在工作的时候,还是一位女生在用,当时她说可以用来处理excel文档,特别是一些统计分析。第二次让我真正进入python世界,还是在一次C站举办的大赛上。聊聊你是因为什么机缘巧合进入到python圈的呢?不妨留言说说 本期主要是聊聊,我接触到的selenium模

    2024年02月06日
    浏览(73)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包