我目前面临的问题是我有一个字符串,我只想提取第一个数字.我的第一步是从字符串中提取数字.
Headline = "redirectDetail('27184','2 -New-York-Explorer-Pass')"
print (re.findall('\d+', headline ))
Output is ['27184', '2']
Run Code Online (Sandbox Code Playgroud)
在这种情况下它返回了两个数字,但我只想要第一个"27184".
因此,我尝试使用以下代码:
print (re.findall('/^[^\d]*(\d+)/', headline ))
Run Code Online (Sandbox Code Playgroud)
但它不起作用:
Output:[]
Run Code Online (Sandbox Code Playgroud)
你能帮助我吗?任何反馈都表示赞赏
我使用 selenium 来废弃滚动网站并执行以下代码
import requests
from bs4 import BeautifulSoup
import csv
from selenium import webdriver
from selenium.webdriver.support.ui import WebDriverWait
import unittest
from selenium.webdriver.common.by import By
from selenium.webdriver.support import expected_conditions as EC
import time
import unittest
import re
output_file = open("Kijubi.csv", "w", newline='')
class Crawling(unittest.TestCase):
def setUp(self):
self.driver = webdriver.Firefox()
self.driver.set_window_size(1024, 768)
self.base_url = "http://www.viatorcom.de/"
self.accept_next_alert = True
def test_sel(self):
driver = self.driver
delay = 3
driver.get(self.base_url + "de/7132/Seoul/d973-allthingstodo")
for i in range(1,1):
driver.execute_script("window.scrollTo(0, document.body.scrollHeight);")
time.sleep(2)
html_source = driver.page_source
data = …
Run Code Online (Sandbox Code Playgroud) 我一直在撞墙,但感觉我离这里很近了。
正在收获的 HTML 块:
div class="details">
<div class="price">
<h3>From</h3>
<strike data-round="true" data-currency="USD" data-price="148.00" title="US$148 ">€136</strike>
<span data-round="true" data-currency="USD" data-price="136.00" title="US$136 ">€125</span>
</div>
Run Code Online (Sandbox Code Playgroud)
我想单独解析出“136 美元”的值(跨度数据)。到目前为止,这是我的逻辑,它同时捕获了“跨度数据”和“罢工数据”:
price = item.find_all("div", {"class": "price"})
price_final = (price[0].text.strip()[8:])
print(price_final)
Run Code Online (Sandbox Code Playgroud)
任何反馈表示赞赏:)