网站集约化建设存在的困难,价格低性价高的手机,金华浦江网站建设,微信网站开发新开页面无界面 centOS 中使用 DrissionPage 1. centos 安装 chrome2. python 代码DrissionPage简介 某电影网站使用了加密js#xff0c;无法直接从主页上爬取电影信息#xff0c;只好借助 selenium 等工具。selenium 需要在服务器上安装浏览器和对应的 driver。我的服务器是无界面 c… 无界面 centOS 中使用 DrissionPage 1. centos 安装 chrome2. python 代码DrissionPage简介 某电影网站使用了加密js无法直接从主页上爬取电影信息只好借助 selenium 等工具。selenium 需要在服务器上安装浏览器和对应的 driver。我的服务器是无界面 centOS未找到对应的办法。偶然看到 DrissionPage一个国人开发的网页自动化工具直接使用系统中的 chromium可以指定chrome、edge不需要 driver。尝试了一下可以解决问题。
需要解决两个事情
centOS 上安装安装 chromeDrissionPage 使用无头模块
1. centos 安装 chrome
添加 Chrome 的 Yum Repository
sudo wget https://dl.google.com/linux/direct/google-chrome-stable_current_x86_64.rpm安装下载的 rpm 包
sudo yum localinstall google-chrome-stable_current_x86_64.rpm如果出现依赖问题执行以下命令来解决
sudo yum install lsb默认安装位置/opt/google/chrome/google-chrome可以通过在终端中输入 google-chrome-stable 来启动 Chrome 浏览器
2. python 代码
安装 DrissionPage 包
pip install DrissionPage实现代码如下
# -*- coding: utf-8 -*-centOS 使用 DrissionPage
from collections import namedtuplefrom DrissionPage import ChromiumPage, ChromiumOptionsMovie namedtuple(Movie, name url des date)def crawl_dy2018():# 在 centOS 中使用无头模式的配置co ChromiumOptions()co.set_browser_path(r/opt/google/chrome/google-chrome) # 设置系统中 chrome 的位置co.set_argument(--incognito)co.set_argument(--no-sandbox)co.headless() # 无头模块# 具体爬取方法movies []page ChromiumPage(co)page.get(https://dy2018.com/)items page.eles(.co_content222)if items:for item in [items[0], items[2]]:for li in item.eles(tag:li):a li.ele(tag:a)span li.ele(tag:span)movies.append(Movie(a.text, a.link, , span.text))# page.quit()return sorted(movies, keylambda movie: movie.date, reverseTrue)DrissionPage简介
DrissionPage 是一个基于 python 的网页自动化工具。 它既能控制浏览器也能收发数据包还能把两者合而为一。 可兼顾浏览器自动化的便利性和 requests 的高效率。 它功能强大内置无数人性化设计和便捷功能。 它的语法简洁而优雅代码量少对新手友好。
详情及使用方法见官网