Ich möchte eine Webseite zu kratzen und ich muss finden, wenn der Stil des Elements ist Anzeige: keine; oder Anzeige: Block wie der folgende Code. (Wenn ich die Quelle der Webseite sehe ich nicht in diesem Stil sehen. Ich weiß es, weil ich das Element Überprüfen Sie verwenden, um von Chrome)Python Scrape Stil Anzeige: keine
<p id="add_to_cart" class="buttons_bottom_block no-print" style="display: none;">
<button type="submit" name="Submit" class="exclusive">
<span>¡Cómprame!</span>
</button>
</p>
<p id="add_to_cart" class="buttons_bottom_block no-print" style="display: block;">
<button type="submit" name="Submit" class="exclusive">
<span>¡Cómprame!</span>
</button>
</p>
Es geht um ein Prestashop Shop Online Schauen Sie bitte auf den folgenden Video https://youtu.be/wlngNaNw1Ao und Sie werden sehen, die div oosHook ändern Sie die Stil Anzeige: Block oder Anzeige: keine, aber Sie können dies auf den Quellcode sehen. Bitte überprüfen Sie den Link https://www.esenciadeperfume.com/bvlgari/bvlgari-man-in-black-edp.html#/6-formato-100_ml_tester
und wählen Sie ein und anderes Produkt, Sie sehen die Änderungen, aber wenn Sie den Quellcode analysieren, sieht es auf allen Entscheidungen gleich. Ich schrieb den folgenden Python-Code für Test und die Änderungen nicht erkennen kann:
import urllib.request
import re
import pymysql
from bs4 import BeautifulSoup
#link1='https://www.esenciadeperfume.com/bvlgari/bvlgari-man-in-black-edp.html#/6-formato-100_ml_tester'
link1='my reputation doesn't allow'
req = urllib.request.Request(link1, headers={'User-Agent': 'Mozilla/5.0'})
htmltext = urllib.request.urlopen(req).read()
if htmltext is None:
print('erro')
else:
matches=re.findall('<div id="oosHook" style="display: block;">',str(htmltext))
if len(matches)==0:
print('Not found')
else:
print('Found')
Ok es mit dem folgenden Code scheint, ich
import urllib.request
import re
import pymysql
from bs4 import BeautifulSoup
from selenium import webdriver
link1='https://www.esenciadeperfume.com/bvlgari/bvlgari-man-in-black-edp.html#/6-formato-100_ml_tester'
#link1='https://www.esenciadeperfume.com/bvlgari/bvlgari-man-in-black-edp.html#/20-formato-60_ml'
browser = webdriver.Firefox() # Your browser will open, Python might ask for permission
browser.get(link1) # This might take a while
soup = BeautifulSoup(browser.page_source,'html.parser')
cart_style = soup.find('p', id='add_to_cart').get('style')
oos_style = soup.find('div', id='oosHook').get('style')
print('Oos_style-> '+oos_style)
Das Problem der Arbeit erledigen kann: Der Prozess es zu langsam
Was genau versuchen Sie zu kratzen? –