我正在尝试从页面的html代码中接收日期和名称,但我的代码不起作用。我试着从这部分代码中提取出来。有了这个网址,我应该收到:我的心情和10июл2016,但我得到了一个错误。
我使用type="text/javascript"作为搜索短语,因为页面源代码的这一部分以:<script type="text/javascript">开头(这个部分比我插入的内容要大得多,但我只需要这两个元素,作者和日期)
从其中提取的代码的HTML部分:
ajax.preload('al_photos.php', {"act":"show","list":"album-68872445_00\/rev","photo":"-68872445_422126739","module":"photos"}, ["album-68872445_00\/rev",7557,3696.000000,[{"id":"-68872445_422205711","base":"https:\/\/pp.userapi.com\/","commcount":0,"commshown":0,"comments":"<div id=\"pv_comments\" class=\"pv_comments wall_module\">\n <div id=\"pv_comments_header\" onclick=\"Photoview.comments();\" class=\"pv_comments_header unshown\"><\/div>\n <div id=\"pv_comments_list\" class=\"pv_comments_list unshown\"><\/div>\n <div class=\"pv_no_commments_placeholder_wrap\">\n <div class=\"pv_no_commments_placeholder no_rows unshown\">Будьте первым, кто оставит комментарий к этой фотографии.<\/div>\n <div class=\"pv_closed_commments_placeholder no_rows \">Возможность комментирования этой фотографии ограничена.<\/div>\n <\/div>\n<\/div>","reply_form":"","reply_options":[],"date":"<span class=\"rel_date\">10 июл 2016<\/span>","tags":[0],"tagged":[],"album":"<a href=\"\/album-68872445_00\" onclick=\"return nav.go(this, event)\">Фотографии на стене сообщества<\/a>","author":"<a href=\"\/lovely_detka_tytyty\" class=\"group_link\">my mood<\/a>"
我的代码:
from bs4 import BeautifulSoup
import requests
import lxml
import json
url = 'https://vk.com/photo-68872445_422126739?rev=1'
req = requests.get(url)
soup = BeautifulSoup(req.text, 'lxml')
data = soup.select('type="text/javascript"')[0]
name = json.loads(data.text)["author"]
date = json.loads(data.text)["date"]
print (name)
print (date)发布于 2019-03-14 11:45:15
使用selenium返回日期和作者
from selenium import webdriver
from selenium.webdriver.common.by import By
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
url = 'https://vk.com/photo-68872445_422126739'
driver = webdriver.Chrome()
driver.get(url)
item = WebDriverWait(driver,10).until(EC.presence_of_element_located((By.CSS_SELECTOR, ".group_link"))).text
item2 = driver.find_element_by_css_selector('.rel_date').text
print(item, item2)
driver.quit()https://stackoverflow.com/questions/55158654
复制相似问题