HTML隐藏元素

2024-09-29 21:39:39 发布

您现在位置:Python中文网/ 问答频道 /正文

实际上,我正在编写一个小的“GPS”,实际上我不能使用谷歌API,因为每天的限制

我决定使用一个网站“维亚米其林”,它为我提供了两个地址之间的距离。我创建了一个小代码来获取我需要的所有URL地址,如下所示:

import pandas

import numpy as np

df = pandas.read_excel('C:\Users\Bibi\Downloads\memoire\memoire.xlsx', sheet_name='Clients')

df2= pandas.read_excel('C:\Users\Bibi\Downloads\memoire\memoire.xlsx', sheet_name='Agences')

matrix=df.as_matrix(columns=None)

clients = np.squeeze(np.asarray(matrix))

matrix2=df2.as_matrix(columns=None)

agences = np.squeeze(np.asarray(matrix2))

compteagences=0

comptetotal=0

for j in agences:

    compteclients=0

    for i in clients:

        print agences[compteagences]

        print clients[compteclients]

        url ='https://fr.viamichelin.be/web/Itineraires?departure='+agences[compteagences]+'&arrival='+clients[compteclients]+'&arrivalId=34MTE1MnJ5ZmQwMDMzb3YxMDU1ZDFvbGNOVEF1TlRVNU5UUT1jTlM0M01qa3lOZz09Y05UQXVOVFl4TlE9PWNOUzQzTXpFNU5nPT1jTlRBdU5UVTVOVFE9Y05TNDNNamt5Tmc9PTBqUnVlIEZvbmQgZGVzIEhhbGxlcw==&index=0&vehicle=0&type=0&distance=km&currency=EUR&highway=false&toll=false&vignette=false&orc=false&crossing=true&caravan=false&shouldUseTraffic=false&withBreaks=false&break_frequency=7200&coffee_duration=1200&lunch_duration=3600&diner_duration=3600&night_duration=32400&car=hatchback&fuel=petrol&fuelCost=1.393&allowance=0&corridor=&departureDate=&arrivalDate=&fuelConsumption='

        print url

        compteclients+=1

        comptetotal+=1

    compteagences+=1

我所有的数据都在Excel上这就是为什么我使用熊猫图书馆。我有我的项目所需的所有网址

虽然,我想提取所需的公里数,但有一个小问题。在源代码中,我没有我需要的信息,所以我不能用Python提取它。。。网站呈现如下: Michelin

当我点击“检查”我可以找到所需的信息(在左边),但我不能在源代码(在右边)。。。有人能帮我吗? Itinerary

我已经试过了,但没有成功:

import os

import csv

import requests

from bs4 import BeautifulSoup

requete = requests.get("https://fr.viamichelin.be/web/Itineraires?departure=Rue%20Lebeau%2C%20Liege%2C%20Belgique&departureId=34MTE1Mmc2NzQwMDM0NHoxMDU1ZW44d2NOVEF1TmpNek5ERT1jTlM0MU5qazJPQT09Y05UQXVOak16TkRFPWNOUzQxTnpBM01nPT1jTlRBdU5qTXpOREU9Y05TNDFOekEzTWc9PTBhUnVlIExlYmVhdQ==&arrival=Rue%20Rys%20De%20Mosbeux%2C%20Trooz%2C%20Belgique&arrivalId=34MTE1MnJ5ZmQwMDMzb3YxMDU1ZDFvbGNOVEF1TlRVNU5UUT1jTlM0M01qa3lOZz09Y05UQXVOVFl4TlE9PWNOUzQzTXpFNU5nPT1jTlRBdU5UVTVOVFE9Y05TNDNNamt5Tmc9PTBqUnVlIEZvbmQgZGVzIEhhbGxlcw==&index=0&vehicle=0&type=0&distance=km&currency=EUR&highway=false&toll=false&vignette=false&orc=false&crossing=true&caravan=false&shouldUseTraffic=false&withBreaks=false&break_frequency=7200&coffee_duration=1200&lunch_duration=3600&diner_duration=3600&night_duration=32400&car=hatchback&fuel=petrol&fuelCost=1.393&allowance=0&corridor=&departureDate=&arrivalDate=&fuelConsumption=")

page = requete.content

soup = BeautifulSoup(page, "html.parser")

print soup

Tags: importfalsepandas网站地址asnpmatrix
1条回答
网友
1楼 · 发布于 2024-09-29 21:39:39

查看页面的检查器,实际路由是通过对this rather long URL的JavaScript调用完成的

您需要的数据似乎在该响应中,从_scriptLoaded(开始(因为它是一个JavaScript对象文本,所以可以使用Python的内置JSON库将数据加载到dict。)

相关问题 更多 >

    热门问题