Exploration PPT
Enregistrement de la première fois que vous écrivez et explorez PPT.
En tant que recrue, c'est en fait la première fois que vous écrivez un robot. Le processus peut être un peu fastidieux, mais il est également facile à comprendre. Il y a peut-être un problème avec l'écriture. J'espère le corriger.
Préface
Le but de la rédaction de cet article est aussi d'être attentif à soi-même, de clarifier sa réflexion et de pouvoir mieux écrire les robots d'exploration, et en effet l'écriture est assez faible
Deuxièmement, utilisez les étapes
1. Importez la bibliothèque
Le code est le suivant (exemple):
from bs4 import BeautifulSoup
from lxml import etree
import requests
from selenium import webdriver
import urllib
import time
import os
code montrer comme ci-dessous
Le site Web exploré cette fois est Youpin
#http://www.ypppt.com/moban/lunwen/list-2.html
#http://www.ypppt.com/moban/lunwen/
#/html/body/div[2]/div/ul/li[1]/a
from bs4 import BeautifulSoup
from lxml import etree
import requests
from selenium import webdriver
import urllib
import time
import os
headers = {
"User-Agent": "Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/70.0.3538.25 Safari/537.36 Core/1.70.3741.400 QQBrowser/10.5.3863.400"
}
time.sleep(4)
num=1
page=1
for page in range(1, 6):
if page == 1:
new_url = 'http://www.ypppt.com/moban/lunwen/'
else:
new_url =['http://www.ypppt.com/moban/lunwen/list-{}.html'.format(page)]
new_url = new_url[0]
print("正在爬取" + new_url)
response = requests.get(new_url, headers=headers)
response.encoding = 'utf-8'
jx = BeautifulSoup(response.content,'lxml')
mains = jx.find('ul',{
'class':'posts clear'})
main_ppts = mains.find_all('li')
for i in main_ppts:
a= i.a.attrs['href']
b=requests.get('http://www.ypppt.com'+a)
b.encoding=b.apparent_encoding
c=BeautifulSoup(b.content,'lxml')
down = c.find('div',{
'class':'button'})
down1= down.a.attrs['href']
down_1 = requests.get('http://www.ypppt.com'+down1)
down_1.encoding=down_1.apparent_encoding
down_2=BeautifulSoup(down_1.content,'lxml')
e = down_2.find('ul',{
'class':'down clear'})
f =e.find('li')
downlaod_url =f.a.attrs['href']
download=requests.get(url=downlaod_url,headers=headers).content
with open(str(num) + '.zip', 'wb') as f:
f.write(download)
print(str(num)+ '下载成功')
num+=1
La première étape consiste à écrire les en-
têtes d' en - tête de la requête = { "User-Agent": "Mozilla / 5.0 (Windows NT 10.0; WOW64) AppleWebKit / 537.36 (KHTML, comme Gecko) Chrome / 70.0.3538.25 Safari / 537.36 Core / 1.70. 3741.400 QQBrowser / 10.5.3863.400 ” } En fait, le time.sleep au milieu peut faire référence à d'autres documents. Après tout, je ne suis pas sûr, il est encore trop faible
Après avoir importé toutes les bibliothèques, vous pouvez commencer à analyser les pages Web
- premier pas
Après m'être connecté au site Web, j'ai constaté qu'à l'exception de la première page, le reste des pages était régulier,
j'ai donc utilisé une méthode de jugement
pour la page dans la plage (1, 6):
if page == 1:
new_url = 'http://www.ypppt.com/moban/lunwen/'
else:
new_url =['http://www.ypppt.com/moban/lunwen/list-{}.html'.format(page)]
new_url = new_url[0]
- Étape 2
En fait, je préfère toujours utiliser BeautifulSoup pour analyser les pages Web. Le
code est
BeautifulSoup (response.content, 'lxml')
Pensez à ajouter du contenu à l'arrière, sinon cela fera une erreur.Il a fallu très longtemps pour trouver cette solution, et finalement je l'ai trouvée.
-Étape 3
Enfin, vous pouvez commencer à analyser formellement les éléments de la page Web, c'est
mon bs4 préféré, le
principe est de trouver les balises étape par étape.
a= i.a.attrs['href']
b=requests.get('http://www.ypppt.com'+a)
J'utilise cette méthode pour simuler un clic sur la page Web. Après tout, je ne connais pas grand-chose au sélénium, je ne peux donc utiliser que cette méthode.
- La quatrième étape
n'est pas écrite ici. En fait, vous pouvez créer un dossier et stocker tout cela. Par
exemple, la bibliothèque OS importée est, os.mkdir (), si vous êtes intéressé, vous pouvez regarder le grand les mecs.