ребята, я пишу код для извлечения некоторых данных с моего сайта путем поиска идентификатора элемента и получаю идентификатор записи из моей базы данных и сохраняю в переменную, но она просто возвращает None !!!
это HTML-коды: и я получаю идентификатор записи из db как int 18448
, но я должен создать истинный формат для идентификатора html, например, post-18448
<article class="post-18448 post type-post status-publish format-standard hentry category-tv-shows" id="post-18448">
и код Python:
import mysql.connector
from bs4 import BeautifulSoup as wsoup
from urllib.request import urlopen as wreq
lucas_db = mysql.connector.connect(
host='localhost',
user="root",
password="xxxxxxxxxxx",
database="Lucas_database")
mycursor_mov = lucas_db.cursor()
mycursor_mov.execute(
"SELECT Post_ID FROM Lucas_t_db WHERE Post_ID IS NOT NULL AND Post_status IS NOT NULL ORDER BY Published_Time ASC ") #AND Post_ID IS NOT NULL AND Post_status IS NULL ")
myresult_mov = mycursor_mov.fetchall()
myresult_mov = [a[0] for a in myresult_mov]
print("DB post id query:",myresult_mov[-1:]
id_value = myresult_mov[-1:]
me = str(id_value[0])
print("none braket post id",me)
z = '"post-'+me+'"'
print("true fromat id: ",z)
url = "http://ezddl.com/"
url_req = wreq(url)
page_read = url_req.read()
url_req.close()
page_soup = wsoup(page_read, "html.parser")
Entry = page_soup.main.find('article',{"id":z})
print("extracted data",Entry)
результат кода:
DB post id query: [18448]
none braket post id: 18448
true fromat id: "post-18448"
extracted data: None
***Repl Closed***
но когда я устанавливаю переменную z
, как это z="post-18448"
, результат кода верен !!!! :
*same codes*
z ="post-18448"
Entry = page_soup.main.find('article',{"id":z})
print("extracted data: ",Entry)
Результат нового кода:
DB post id query: [18448]
none braket post id: 18448
true fromat id: "post-18448"
extracted data: <article class="post-18448 post type-post status-publish format-standard hentry category-tv-shows" id="post-18448">
***Repl Closed***
Я не могу понять, почему, когда я запускаю первый код, он дает мне none
, но второй код дает мне истинный результат