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

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

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

三、保存输出

    #保存页面
    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)

四、运行测试
用我Excel打开之前获取到的CSV文件,我们就得到了我们想要的信息。

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

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

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

1、找到并Copy它的值进去就可以了

此技术大多用于静态网页的爬取,对于拥有较高反爬机制的网站会出现数据获取不了的状况。只用做学习交流。

来源:Eclairz

物联沃分享整理
物联沃-IOTWORD物联网 » python爬取网页信息

发表评论