coolllyy 发表于 2021-1-19 21:56

用python在文章中随即插入三张图片

python采集了一些文章,想在文章随即三个<p>标签前面插图三张图,需要怎么写代码,完全没思路。。。
格式如下:
<p>段落1</p><p>段落2</p><p>段落3</p><p>段落4</p><p>段落5</p><p>段落6</p><p>段落7</p>

我想随即在三个<p>之前,插入我自己rand(1-100)的jpg图片,要怎么写,求指导{:1_893:}

wqy290546 发表于 2021-1-19 22:05

。。。。加油    都是初学者

Jack2002 发表于 2021-1-19 22:23

只给个思路:
1、list存图片地址
2、从list随机获取一个元素
3、用正则替换<p>,替换为<img src="第2步获得的元素"></img><p>

coolllyy 发表于 2021-1-19 22:27

Jack2002 发表于 2021-1-19 22:23
只给个思路:
1、list存图片地址
2、从list随机获取一个元素


但是我不是全部p标签都要加图只在随即三个p标签之前图,图不能在一起

Jack2002 发表于 2021-1-19 23:02

coolllyy 发表于 2021-1-19 22:27
但是我不是全部p标签都要加图只在随即三个p标签之前图,图不能在一起

给你写了一段,想要全部随机替换就要用正则,这东西真不难,很基础的东西。
# -*- coding: gbk -*-
import random

html="""
<p>一</p>
<p>二</p>
<p>三</p>
"""
print("替换前", html)

list = []
for i in range(10):
        list.append("img" + str(i))
       
img = random.choice(list)
img = "<img src=%s />" %(img)

html = html.replace("<p>", img + "<p>", 1) # 第一个P标签前插入一个img标签
print("替换后", html)

Jack2002 发表于 2021-1-19 23:44

替换全部的方法,只要替换其中的一个自己加个判断.

coolllyy 发表于 2021-1-20 00:28

Jack2002 发表于 2021-1-19 23:44
替换全部的方法,只要替换其中的一个自己加个判断.

非常感谢。。。。提供了思路及代码{:1_893:}{:1_893:}

kunlun001 发表于 2021-1-20 00:49

厉害厉害厉害

hxh-linux 发表于 2021-1-20 05:49

用re,xpath,css任意一个匹配所有的标签会返回列表
用随机数random选取不同的位置(判断元素唯一性)
最后将src拼接到p后面(要是本地图片 你还得先获取所有的文件名再取) 网络的话 你随便去图片网站 爬取一大堆图片的url都可以

肥猫警长 发表于 2021-1-20 09:36

学习python 需要安装那些软件哥哥
页: [1] 2
查看完整版本: 用python在文章中随即插入三张图片