Pequeñas series sobre el principio de este mes para escribir esta pieza de código, pero, por desgracia, probablemente, Nº 20, mirando de nuevo Baidu página de imagen de tren y encontraron una cascada y volver, pero afortunadamente el código dentro de la página izquierda corriente URL
Así que ahora vienen para que todos puedan compartir.
Idioma: python3.6
库: solicitudes, re, urllib
Además de las solicitudes necesitan pip instalar, viene con Python son otros dos módulos, se pueden llamar directamente.
El código URL original: https: //image.baidu.com/search/flip tn = baiduimage & ie = UTF-8 y palabra = hermana pequeña y pn = 0?
Copia la URL directa puede ver la primera página de fotos de Baidu Página de imágenes de flujo de la hermana pequeña. Pues bien, en el siguiente código, como comentarios detallados.
#!/usr/bin/python3
# -*- coding:utf-8 -*-
# Author:water_chen
import requests
import re
from urllib import request
def get_picture_list(keyword,biggest_pages):
all_picture_list = []
for page in range(biggest_pages):
# 每一页20张图片, 所以翻页的是0 20 40 80 这样变化的
page = page * 20
url = 'https://image.baidu.com/search/flip?tn=baiduimage&ie=utf-8&word={}&pn={}'.format(keyword, page)
#
html = requests.get(url).content.decode('utf-8')
picture_list = re.findall('{"thumbURL":"(.*?)",', html)# 用正则匹配,获得图片的url
all_picture_list.extend(picture_list)
all_picture_list = set(all_picture_list)# 因为第二页也有后面两页的图片,所以要去重
download_picture(all_picture_list)
# 下载图片
def download_picture(all_picture_list):
for i, pic_url in enumerate(all_picture_list):
print(i)
# 在代码的路径下,新建一个picture,图片会由urlretrieve函数保存到本地
string = 'picture/{}.jpg'.format(str(i + 1))
request.urlretrieve(pic_url, string)
# 开始函数
def start():
# 你想搜索的关键词
keyword = '小姐姐'
# 你想搜索的页数
biggest_pages = 10
get_picture_list(keyword, biggest_pages)
if __name__ == '__main__':
start()
Rápidamente guardar la URL de la página flujo, ahora Baidu es una imagen cascada, si se quiere subir, necesita selenio para las páginas de desplazamiento, demasiados problemas, este código puede ser relativamente fácil de obtener.
Si útil, por favor señalar un elogio, gracias. Blog dirección Park: https: //www.cnblogs.com/chenyuan404/p/10192758.html