prefacio
Hola a todos, soy Spicy.
Inconscientemente, he escrito 103 publicaciones de blog. Intentaré darles a todos un número después de las tiras picantes, para que todos puedan consultarlo más tarde. Después de todo, muchas personas lo pusieron en sus colecciones y es fácil para ti encontrarlos. más tarde. Basta con mirar el número directamente. demasiado. Así puedes estar tranquilo
Hoy continuaré con la serie de reptiles para todos. Recuerden no complacerse y no imitarlos fácilmente. Puedes recopilar y estudiar el punto técnico. El senior sigue siendo muy solidario.
contenido
En primer lugar, el entorno de desarrollo.
python3.7
pycharm
Segundo, análisis de programas e implementación de código.
Primero obtenga los recursos de su página:
import requests
from lxml import etree
#资源地址
url = ' 地址'
#请求头
headers = {
'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/99.0.4844.82 Safari/537.36'
}
#页面响应
response = requests.get(url=url,headers=headers)
#数据转换
data = etree.HTML(response.text)
A continuación, obtenga todos los libros a través del análisis de páginas:
#获取到排行榜所有书
book_info_list = data.xpath('//div[@class="item"]')
Al ingresar al módulo, puede encontrar que todas las páginas de detalles del libro se colocan en esta ruta:
Luego podemos filtrar y obtener la ruta de empalme:
for book_info in book_info_list:
#拿到path
page_id = book_info.xpath('div[@class="image"]/a/@href')[0]
#拼接到主域名下
url = url[0:19] + page_id
Hay un enlace de descarga en la página de detalles, que ahorra mucho esfuerzo y lo analiza a través de la página:
Puede ver que su URL de descarga pasa los parámetros y el título del libro, luego puede obtener el enlace y unirlo para obtener el enlace de descarga y obtener el nombre del libro como una copia de seguridad de la descarga:
for book_info in book_info_list:
#拿到path
page_id = book_info.xpath('div[@class="image"]/a/@href')[0]
#拼接到主域名下
url = url[0:19] + page_id
#获取详情页面
response = requests.get(url=url,headers=headers)
info_page = etree.HTML(response.text)
#拿到下载path
download_url = info_page.xpath('//div[@class="readbtn"]/a/@href')[2]
#拼接url
download_url = url[0:19] + download_url
#拿到书名字
book_name = download_url.split('=')[2]
Luego, inicie una solicitud para el enlace de descarga y escríbalo localmente a través del archivo I/O:
boo_txt = requests.get(url=download_url,headers=headers)
with open('book/%s.txt'%book_name,'w',encoding='utf-8') as f:
f.write(boo_txt.text)
Echemos un vistazo a los resultados:
De esta manera, puede obtener todos los libros de la lista, lo cual es muy conveniente y rápido.
3. Resumen del proyecto
Primero, debe analizar manualmente los pasos de la ruta de descarga y luego implementar estos pasos uno por uno con el código. fácil y sencillo
De esta manera, puede obtener todas las novelas en la lista de clasificación, lo cual es muy conveniente y rápido. Además, hay un código fuente anterior que se puede encontrar en la pequeña tarjeta en la parte inferior, y algunos libros que usé antes, rutas de mapas cerebrales, videos, etc., no puedo dejarlos ~