当前位置: 首页 > news >正文

南宁建站今天的新闻内容

南宁建站,今天的新闻内容,泰安网络电视,哪个网站可以做加工JavaScript动态渲染界面爬取-Selenium实战 爬取的网页为:https://spa2.scrape.center,里面的内容都是通过Ajax渲染出来的,在分析xhr时候发现url里面有token参数,所有我们使用selenium自动化工具来爬取JavaScript渲染的界面。 fr…

JavaScript动态渲染界面爬取-Selenium实战

爬取的网页为:https://spa2.scrape.center,里面的内容都是通过Ajax渲染出来的,在分析xhr时候发现url里面有token参数,所有我们使用selenium自动化工具来爬取JavaScript渲染的界面。

from selenium import webdriver
from selenium.webdriver.common.by import By
from selenium.common.exceptions import TimeoutException, NoSuchElementException
from selenium.webdriver.support.ui import WebDriverWait
import logging
from selenium.webdriver.support import expected_conditions
import re
import json
from os import makedirs
from os.path import exists# 配置日志
logging.basicConfig(level=logging.INFO, format='%(asctime)s - %(levelname)s: %(message)s')
# 基本url
url = "https://spa2.scrape.center/page/{page}"
# selenium初始化
browser = webdriver.Chrome()
# 显式等待初始化
wait = WebDriverWait(browser, 10)
book_url = list()# 目录设置
RESULTS_DIR = 'results'
exists(RESULTS_DIR) or makedirs(RESULTS_DIR)
# 任意异常
class ScraperError(Exception):pass# 获取书本URL
def PageDetail(URL):browser.get(URL)try:all_element = wait.until(expected_conditions.presence_of_all_elements_located((By.CSS_SELECTOR, ".el-card .name")))return all_elementexcept TimeoutException:logging.info("Time error happen in %s while finding the href", URL)# 获取书本信息
def GetDetail(book_list):try:for book in book_list:browser.get(book)URL = browser.current_urlbook_name = wait.until(expected_conditions.presence_of_element_located((By.CLASS_NAME, "m-b-sm"))).textcategories = [elements.text for elements in wait.until(expected_conditions.presence_of_all_elements_located((By.CSS_SELECTOR, ".categories button span")))]content = wait.until(expected_conditions.presence_of_element_located((By.CSS_SELECTOR, ".item .drama p[data-v-f7128f80]"))).textdetail = {"URL": URL,"book_name": book_name,"categories": categories,"content": content}SaveDetail(detail)except TimeoutException:logging.info("Time error happen in %s while finding the book detail", browser.current_url)# JSON文件保存
def SaveDetail(detail):cleaned_name = re.sub(r'[\/:*?"<>|]', '_', detail.get("book_name"))detail["book_name"] = cleaned_namedata_path = f'{RESULTS_DIR}/{cleaned_name}.json'logging.info("Saving Book %s...", cleaned_name)try:json.dump(detail, open(data_path, 'w', encoding='utf-8'),ensure_ascii=False, indent=2)logging.info("Saving Book %s over", cleaned_name)except ScraperError as e:logging.info("Some error happen in %s while saving the book detail", cleaned_name)# 主函数
def main():try:for page in range(1, 11):for each_page in PageDetail(url.format(page= page)):book_url.append(each_page.get_attribute("href"))GetDetail(book_url)except ScraperError as e:logging.info("An abnormal position has occurred")finally:browser.close()if __name__ == "__main__":main()
http://www.dt0577.cn/news/850.html

相关文章:

  • 科技小报手抄报内容网站seo快速排名
  • 长汀网站建设怎么投稿各大媒体网站
  • 成都微信公众号定制seo 工具
  • 成都住建局官网蓉e办重庆seo团队
  • 济宁市中网站建设班级优化大师官网下载
  • 网站开发的企业微信平台推广方法
  • 众筹网站开发销售怎么做
  • 网站开发名片怎么做电商网站设计
  • 南通技嘉做网站近期国家新闻
  • 政府网站建设内容规划qq群推广引流免费网站
  • 保定网络营销黑帽seo是什么
  • 微网站免费软件自动搜索关键词软件
  • 企业网站管理是什么域名收录查询
  • 电脑网站搜索如何做seo如何优化网站步骤
  • 罗湖网站建设深圳信科今日头条最新消息
  • wordpress新闻网站主题高端网站设计公司
  • 有哪些网站可以接单做效果图有什么推广的平台
  • 美工做的好的网站对网站外部的搜索引擎优化
  • 天猫官方网站首页上海优化网站公司哪家好
  • 旅游网站建设方案两百字市场调研报告怎么做
  • 网站开发语言什么意思网络营销策划案范本
  • 做网站建设的上市公司有哪些百度云盘官网
  • 学校的网站是怎么建设的北京网站建设公司案例
  • wordpress 主题应用北京网站优化快速排名
  • node.js做网站百度搜索广告价格
  • 个人网站怎么建立步骤成都网站seo外包
  • 织梦做企业网站seo的优点
  • 快速提升网站排名seo排名影响因素主要有
  • WordPress多站点恢复yande搜索引擎官网入口
  • 专门做网站制作的公司搜狐酒业峰会