#main > div > div.schedules-view__results > div:nth-child(5)
时间: 2024-03-27 13:40:31 浏览: 55
这个选择器可以匹配到第五个船期信息的外层`div`元素。如果你想提取这个船期信息的具体字段,可以在这个选择器的基础上再加上相应的选择器。
例如,如果你想提取该船期信息的`departure_port`字段,可以使用下面的选择器:
```
#main > div > div.schedules-view__results > div:nth-child(5) .departure-port__location
```
这个选择器使用了空格和类选择器,匹配到该船期信息内的`departure_port`字段对应的`div`元素,并提取出其中的文本内容。具体来说,这个选择器使用了类选择器`.departure-port__location`,匹配到class为`departure-port__location`的`div`元素。
相关问题
for row in soup.select(".table-row"):这一句应该遍历的是#main > div > div.schedules-view__results > div:nth-child(5);#main > div > div.schedules-view__results > div:nth-child(6)等等我应该如何写呢
如果你想遍历所有船期信息的`table-row`元素,可以先定位到所有船期信息的外层`div`元素,然后遍历其中的每个子元素,判断其是否为`table-row`元素,如果是则提取其中的信息。
例如,可以使用下面的代码遍历所有船期信息:
```
results = soup.select_one("div.schedules-view__results")
for row in results.children:
if row.name == "div" and "table-row" in row.get("class", []):
# 提取船期信息
```
这个代码首先使用`select_one`方法定位到所有船期信息的外层`div`元素,然后遍历该元素的所有子元素,判断其是否为`table-row`元素。如果是,则可以提取其中的信息。注意,这里使用了`get`方法获取`class`属性的值,防止`class`属性不存在时出现异常。
import requestsfrom bs4 import BeautifulSoupfrom datetime import datetimeurl = "https://www.maersk.com.cn/schedules/pointToPoint"today = datetime.today().strftime("%Y-%m-%d")params = { "from": "2IW9P6J7XAW72", "to": "0XOP5ISJZK0HR", "containerIsoCode": "42G1", "fromServiceMode": "CY", "toServiceMode": "CY", "numberOfWeeks": "4", "dateType": "D", "date": today, # 将当前日期格式化为字符串,并作为请求参数传递 "vesselFlag": "",}response = requests.get(url, params=params)soup = BeautifulSoup(response.text, "html.parser")for row in soup.select(".table-row"): departure_port = row.select_one(".departure-port").text.strip() departure_time = row.select_one(".departure-time").text.strip() arrival_port = row.select_one(".arrival-port").text.strip() arrival_time = row.select_one(".arrival-time").text.strip() vessel_name = row.select_one(".vessel-name").text.strip() print(f"船名:{vessel_name},启运港:{departure_port},启运时间:{departure_time},目的港:{arrival_port},到达时间:{arrival_time}")
这是一个使用 Python 爬取马士基航运网站船期信息的代码,具体来说,该代码使用了 requests 库和 BeautifulSoup 库对网页进行了爬取和解析,然后输出了船名、启运港、启运时间、目的港和到达时间等信息。其中,params 参数是请求参数,通过构造参数可以获取不同的船期信息,具体含义可以参考马士基航运网站的 API 文档。
阅读全文