我想使用beautifulsoup4。我有一个类似于reddit的网页示例。首先,我在课堂上评定了图像
示例:5445 18365472910927456382001836547291092745638200183654729109274563820018365472910927456382001836547291092745638200183654729109274563820018365472910927456382001836547291092745638200183654729109274563820 99999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999
我需要下载额定值超过1000的图像。
问题是包括图像的类是不同的(“标题可能空白出站”或“标题可能空白”)。
如果我使用def generate_all_numbers(length):
l = list()
for one in range(0,length):
for two in range(0,length-one):
for three in range(0,length-one-two):
for four in range(0,length-one-two-three):
for five in range(0,length-one-two-three-four):
for six in range(0,length-one-two-three-four-five):
for seven in range(0,length-one-two-three-four-five-six):
for eight in range(0,length-one-two-three-four-five-six-seven):
for nine in range(0,length-one-two-three-four-five-six-seven-eight):
for ten in range(0,length-one-two-three-four-five-six-seven-eight-nine):
if max(one,two,three,four,five,six,seven,eight,nine) > 0:
num1 = "1"*one+"2"*two+"3"*three+"4"*four+"5"*five+"6"*six+"7"*seven+"8"*eight+"9"*nine
num2 = "9"*one+"8"*two+"7"*three+"6"*four+"5"*five+"4"*six+"3"*seven+"2"*eight+"1"*nine+"0"*ten
l.append(int(num1))
l.append(int(num2))
return(list(set(l)))
def find_smallest_increasing(number, length):
ehd = -1
num = "0"
length += 1
for one in range(0,length):
for two in range(0,length-one):
for three in range(0,length-one-two):
for four in range(0,length-one-two-three):
for five in range(0,length-one-two-three-four):
for six in range(0,length-one-two-three-four-five):
for seven in range(0,length-one-two-three-four-five-six):
for eight in range(0,length-one-two-three-four-five-six-seven):
for nine in range(0,length-one-two-three-four-five-six-seven-eight):
if max(one,two,three,four,five,six,seven,eight,nine) > 0:
num = "1"*one+"2"*two+"3"*three+"4"*four+"5"*five+"6"*six+"7"*seven+"8"*eight+"9"*nine
if int(num) % number == 0:
if ehd == -1:
ehd = int(num)
if int(num) < ehd:
ehd = int(num)
return(ehd)
def find_smallest_decreasing(number, length):
ehd = -1
num = "0"
length += 1
for one in range(0,length):
for two in range(0,length-one):
for three in range(0,length-one-two):
for four in range(0,length-one-two-three):
for five in range(0,length-one-two-three-four):
for six in range(0,length-one-two-three-four-five):
for seven in range(0,length-one-two-three-four-five-six):
for eight in range(0,length-one-two-three-four-five-six-seven):
for nine in range(0,length-one-two-three-four-five-six-seven-eight):
for zero in range(0,length-one-two-three-four-five-six-seven-eight-nine):
if max(one,two,three,four,five,six,seven,eight,nine) > 0:
num = "9"*one+"8"*two+"7"*three+"6"*four+"5"*five+"4"*six+"3"*seven+"2"*eight+"1"*nine+"0"*zero
if int(num) % number == 0:
if ehd == -1:
ehd = int(num)
if int(num) < ehd:
ehd = int(num)
return(ehd)
numbers = [363,726, 1313, 1452, 1717, 1798, 1815, 1919, 2121, 2156, 2189, 2541, 2626, 2805,
2904, 2997, 3131, 3297, 3434, 3630, 3838, 3993, 4037, 4092, 4107, 4191, 4242, 4257, 4312,
4334, 4343, 4378, 4407, 4532, 4646, 4719, 4747, 4807, 4949, 5011, 5055, 5071, 5082, 5151,
5214, 5353, 5423, 5454, 5495, 5610, 5665, 5731, 5808, 5819, 5858, 5951, 5989, 5994, 6171,
6248, 6281, 6429, 6446, 6468, 6523, 6565, 6567, 6594, 6721, 6767, 6868, 6897, 6919, 7051,
7077, 7128, 7139, 7171, 7227, 7260, 7381, 7424, 7474, 7513, 7678, 7831, 7858, 7878, 7881,
7909, 7986, 8041, 8063, 8074, 8088, 8107, 8129, 8162, 8173, 8184, 8195, 8214, 8283, 8316, 8349,
8382, 8415, 8453, 8484, 8514, 8624, 8649, 8756, 8778, 8814, 8932, 8987, 8989, 8990, 8991,
9053, 9064, 9075, 9099, 9101, 9119, 9141, 9156, 9191, 9213, 9251, 9292, 9309, 9328, 9361, 9393,
9438, 9493, 9515, 9546, 9595, 9597, 9603, 9614, 9667, 9678, 9757, 9797, 9802, 9834, 9890,
9898, 9909]
hardnumbers = [1089, 2178, 3267, 4356, 5445, 6534, 7623, 8712, 9801]
l = generate_all_numbers(20)
A = list()
for i in range(len(l)):
for j in range(len(numbers)):
if l[i] % numbers[j] == 0:
A.append(l[i])
B = list()
for j in range(len(numbers)):
best = int("9" * 2000)
for i in range(len(A)):
if A[i] % numbers[j] == 0:
if A[i] < best:
best = A[i]
print(str(numbers[j])+" "+str(best/numbers[j])+ " " + str(best))
for k in range(0,len(hardnumbers)):
number = hardnumbers[k]
a = -1
b = -1
i= 1
j= 1
while a == -1:
if a % 5 != 0:
a = find_smallest_increasing(number,i)
i = i + 1
b = -1
j = 1
while b == -1:
b = find_smallest_decreasing(number,max(i,j))
j = j + 1
print(str(number)+" "+str(min(a,b)/number)+" " + str(min(a,b)))
保存图像,则无法检查特定图像的比率。
感谢您的帮助
实施例
<div class="score likes" title="35">35</div>