• python爬取网页信息


    PythonSpider项目

    Python爬虫是用Python编程语言实现的网络爬虫,主要用于网络数据的抓取和处理,相比于其他语言,Python是一门非常适合开发网络爬虫的编程语言,大量内置包,可以轻松实现网络爬虫功能。Python爬虫可以做的事情很多,如搜索引擎、采集数据、广告过滤等,Python爬虫还可以用于数据分析,在数据的抓取方面可以作用巨大!此次项目我们所需软件:
    PyCharm
    下载地址:链接: link.

    需求分析

    在大数据时代,怎样通过爬虫快速并且有效的获取到某一个网页的信息。

    概要设计

    1.用import导入相关的包
    2.设置公共变量url和headers
    3.获取页面并返回参数
    4.解析页面并返回参数
    5.保存页面并返回参数

    代码实现

    一、导入相应模块

    import requests
    import re
    import csv
    import time
    import random
    
    • 1
    • 2
    • 3
    • 4
    • 5

    二、获取网页信息,并解析

    class DongManSpider:
        #公共变量
        def __init__(self):
            self.url = " "   #需要给出相应路径的网页
            self.headers = {"User-Agent":"  "}#需要获取目标地址中的User-Agent,有时候还需要加上Cookie。
        #获取页面
        def get_html(self,url):
            #每生成一个网页,获取该网页的代码
            html = requests.get(url, headers=self.headers).text
            #返回参数
            return html
        #解析页面
        def parse_html(self,html):
            #编写正则表达式
            regex = ''' ''' #正则表达式里放你需要爬取的信息
            #构建正则对象
            p = re.compile(regex, re.S)
            #匹配
            info = p.findall(html)
            #返回参数
            return info
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21

    三、保存输出

        #保存页面
        def save_html(self,info):
            # 循环遍历出里面的元组
            for i in info:
                #构建一个空列表
                L = []
                #将数据清洗过后放入列表,再用strip()去掉多余的空格和换行
                name= i[0].strip()
                address= i[1].strip()
                time= i[2].strip()
                L.append(name)
                L.append(address)
                L.append(time)
                #每遍历一个元组,就保存追加至domgman.csv文件中
                f = open("dongman.csv", "a", encoding="utf-8-sig", newline="")
                #将open对象构建成csv对象
                w = csv.writer(f)
                #将遍历的元组放进文件中
                w.writerow(L)
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19

    四、运行测试
    用我Excel打开之前获取到的CSV文件,我们就得到了我们想要的信息。
    在这里插入图片描述

    如何正确的书写正则表达式

    1、ctrl + A 复制页面源码,到txt文本,在网页中找到关键字段,并在txt文本中查找其位置
    2、在网页中找到关键字段的位置,观察其同一模块的信息,与txt文本相对应,然后定位。然后观察要爬取的第一个信息的开头,和要爬取最后一个信息的开头,是否是每个信息段的唯一标志
    3、确定信息段后,单独保存。确定要爬取的信息,然后再判断定位该信息的开头是否是信息段内的唯一字符。保留确定每一个关键信息的开头,以及最近的结尾字段
    4、用.代替每一段结尾至下一段开头的内容。把要爬取的内容,用(.)代替

    如何正确找到网页的User-Agent

    1、找到并Copy它的值进去就可以了
    在这里插入图片描述
    此技术大多用于静态网页的爬取,对于拥有较高反爬机制的网站会出现数据获取不了的状况。只用做学习交流。

    先自我介绍一下,小编13年上师交大毕业,曾经在小公司待过,去过华为OPPO等大厂,18年进入阿里,直到现在。深知大多数初中级java工程师,想要升技能,往往是需要自己摸索成长或是报班学习,但对于培训机构动则近万元的学费,着实压力不小。自己不成体系的自学效率很低又漫长,而且容易碰到天花板技术停止不前。因此我收集了一份《java开发全套学习资料》送给大家,初衷也很简单,就是希望帮助到想自学又不知道该从何学起的朋友,同时减轻大家的负担。添加下方名片,即可获取全套学习资料哦

  • 相关阅读:
    【蓝桥杯软件赛 零基础备赛20周】第3周——填空题
    Breakdance评测:改变游戏规则的WordPress网站生成器
    嵌入式面经111题答案汇总(含技术答疑)_嵌入式项目源码分享
    电脑微信上显示个人磁盘已满怎么办?绝佳方法!
    1024网络技术命令汇总(第54课)
    阿里云OSS对象存储
    云原生容器平台——新华资产数字化转型加速器
    看不懂懂车大爆炸,你就错过了国产小车的王炸!
    链路状态路由协议OSPF的LSA头部讲解
    glibc: strlcpy
  • 原文地址:https://blog.csdn.net/m0_67403240/article/details/126113930