吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 3015|回复: 5
收起左侧

[Python 原创] 【Python】简单的re正则爬取信息

[复制链接]
Ls雷 发表于 2018-5-11 00:31
本帖最后由 wushaominkk 于 2018-5-11 11:50 编辑

[Python] 纯文本查看 复制代码
import requests
import re
import os


def write_img(all_imgs):
    for img in all_imgs:
        url = "http:///" + str(img) + '.jpg'
        print(url)
        request = requests.get(url)

        # 判断images文件夹是否存在不存在就创建然后写入数据
        if not os.path.exists("./images/"):
            os.makedirs("./images/")
        with open("./images/" + url[url.rfind('/'):-4] + '.jpg', 'wb') as f:
            f.write(request.content)

        # 信息写入texts文件夹内使用os模块判断是否存在文件夹不存在就创建
        # 因为不能吧all_party的列表下标写死,所以就根据所有图片的for循环都是从0开始
        # 动态写入每个人的信息
        if not os.path.exists('./texts/'):
            os.makedirs('./texts/')
        with open("./texts/" + url[url.rfind('/'):-4] + '.txt', 'w') as f:
            f.write(all_party[all_imgs.index(img)])


all_party = []  # 存放所有人的信息
all_imgs = []  # 存放所有人的照片链接


def main():
    request = requests.get("http://")
    html = request.content.decode()
    content2 = re.compile(r'<div class="teacher_content"(.*?)<p style="padding-top:10px;">', re.S)
    con2 = content2.findall(html)
    # 特殊字符第一位
    hsp = re.compile(r'<div class="teacher_content"(.*?)<a name="lhf">', re.S)
    hsp = hsp.findall(html)
    hsp = str(hsp)
    hsp = hsp.split('l">')[1]
    #数据过滤
    hsp = str(hsp).replace("</div>", '').replace('<div class="r">', '') \
        .replace("']", '')
    # 加进空列表
    all_party.append(hsp)
    content = re.compile(r'(.*?)<img src="(.*?).jpg">')
    all_str = content.findall(str(con2))
    for s in all_str[2:]:
        s = str(s)
        # 数据过滤
        s = s.replace('<div class="weibo">', '').replace('<div class="l">', '') \
            .replace('</div>', '').replace('<div class="r">', '').replace('<p>', '').replace('</p>', '') \
            .replace('<br />', '').replace("<br>", '').replace('<br/>', '').replace('<span class="teacherfont">', '') \
            .replace('<a href="download.shtml#1">', '').replace('</a>', '').replace('</span>', '').replace('<span class="teachervideo" >', '') \
            .replace('<a name="zxf">', '').replace('<div class="teacher_content">', '').replace("('", '').replace('("', '')
        s = s[:s.rfind(',')]
        all_party.append(s)

    # 特殊字符最后一位
    sls = re.compile(r'<img src="teacher/xnw.jpg"(.*?)<p style="padding-top:10px;">', re.S)
    sls = sls.findall(html)
    #数据过滤
    sls = str(sls).replace("'>", '').replace('<p>', '').replace('</p>', '').replace("']", '')
    all_party.append(str(sls))

    # 全部照片
    img = re.compile(r'<img src="(.*?).jpg">')
    all_img = img.findall(str(con2))
    for i in all_img:
        i = i.split('="')[-1:]
        i = str(i).split("['")[1]
        i = str(i).split("']")[0]
        all_imgs.append(i)
    # 调用函数
    write_img(all_imgs)


if __name__ == '__main__':
    main()[/color]
[color=#000000]# 网址就不放了大伙看看我这码写的有哪些需要改进的地方,第一个地方我知道了就是把代码全写主函数里面了这样不好,明个在封装一下[/color]
[color=#000000]#还有就是写的过程实在是太恶心了,大伙不懂得留言我给你们说啊

免费评分

参与人数 2吾爱币 +1 热心值 +2 收起 理由
善良的果仁 + 1 用心讨论,共获提升!
hack_wangyu + 1 + 1 感谢发布原创作品,吾爱破解论坛因你更精彩!

查看全部评分

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

hack_wangyu 发表于 2018-5-11 00:47
可以的,身为py新手的我学到了.
chenrenjiewj 发表于 2018-5-11 06:52
wushaominkk 发表于 2018-5-11 09:06
非原创作品:标题请标明【转载】【分享】或则【笔记】 原创作品:【原创源码】【语言类型】
gulumogui 发表于 2018-5-11 09:59
很好很强大,学习了
 楼主| Ls雷 发表于 2018-5-11 11:03
wushaominkk 发表于 2018-5-11 09:06
非原创作品:标题请标明【转载】【分享】或则【笔记】 原创作品:【原创源码】【语言类型】

收到大大
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-11-15 15:30

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表