Maison > Questions et réponses > le corps du texte
import lxml,requests,sys
from bs4 import BeautifulSoup
from lxml import etree
reload(sys)
sys.setdefaultencoding("utf-8")
def main():
url = 'https://image.baidu.com/search/flip?tn=baiduimage&ie=utf-8&word=%E6%9A%B4%E8%B5%B0%E6%BC%AB%E7%94%BB&pn=0'
req = requests.get(url).content
# soup = BeautifulSoup(req.content,'lxml')
# imgs = soup.find_all('img')
content = etree.HTML(req)
paths = content.xpath('//*[@id="imgid"]/ul/li[1]/a/img/text()')
# for img in imgs:
#
# print img
# for img in imgs :
print paths
main()
天蓬老师2017-04-18 10:32:15
.Lors de l'écriture d'un robot, vous devez utiliser XPath pour confirmer s'il y a des données dans le code source de la page Web. Sinon, cela signifie qu'il est chargé de manière asynchrone
view-source:https://image.baidu.com/search/flip?tn=baiduimage&ie=utf-8&word=%E6%9A%B4%E8%B5%B0%E6%BC%AB%E7%94%BB&pn=0
La liste d'images suivante n'a pas été trouvée. Nous pouvons déterminer que l'image est chargée par js
F12 a regardé le réseau (actualiser pour voir) et n'a pas trouvé les informations d'image chargées par la requête asynchrone, j'ai donc deviné que les données devraient être au format html, mais elles ont été placées dans js et traitées lors du chargement du image
De la même manière pour afficher le code source ci-dessus, recherchez le paramètre objURL et trouvez la véritable URL
//很多,集中在html下半部分
http://img3.duitang.com/uploads/item/201608/06/20160806110540_MAcru.jpeg
Le reste dépend de vous ~ Trouvez un moyen d'analyser la véritable URL dans la partie suivante !