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

南宁建站seo什么职位

南宁建站,seo什么职位,建网站保定,wordpress慢数据库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.khdw.cn/news/45208.html

相关文章:

  • word模板免费网站网站推广做什么
  • yellow在线观看高清完整版网站首页关键词如何优化
  • 大龄工找工作哪个网站好郑州seo网络推广
  • 本网站维护升级企业查询系统官网天眼查
  • wordpress关闭新闻活动模块网站首页排名seo搜索优化
  • wordpress 菜单两列显示seo排名优化软件免费
  • 铜陵做网站的公司百度河南代理商
  • 国外免费b2b网站大全黄页渠道网
  • 优质网站建设服务手机app安装下载
  • 用jsp做的网站的代码百度关键词如何优化
  • 山东响应式网站建设西安seo服务公司排名
  • androidseo搜索引擎推广什么意思
  • 中国建设银行阜阳分行网站产品设计
  • 石狮做网站湖南百度推广开户
  • 企业网站设计北京搜索引擎优化名词解释
  • 简述上课网站建设所用的技术架构关键词搜索排名公司
  • yandex网站推广网站收录是什么意思
  • 西安学校网站建设价格友链交易
  • 海尔的网络营销模式seo关键词排名优化报价
  • python做音乐网站广州推广服务
  • html网站可以做访问统计吗域名查询ip网站
  • 网站域名注册域名收录查询
  • 网站的优点缺点app注册拉新平台
  • 房产网站做那个比较好郑州seo顾问阿亮
  • 重庆工商局官网网站seo关键词排名推广
  • h5页面开发用什么工具常宁seo外包
  • 淘宝客怎么做直播网站网址浏览大全
  • 美丽寮步网站建设哪家好网站建设需求模板
  • wordpress如何使用一个demoseo技术培训东莞
  • 哪里有做网站的公司超级外链发布