此时情绪此时天,无事小神仙
好好生活,平平淡淡每一天

编辑

python+selenium动态抓取网页数据

Windows+Python+Selenium

1.下载selenium

cmd pip3 instatll selenium

2.下载浏览器对应驱动版本

查看浏览器版本:chrome://version

驱动下载国外连接:http://chromedriver.storage.googleapis.com/index.html

驱动下载国内镜像连接(推荐):http://npm.taobao.org/mirrors/chromedriver/

 

把此驱动放在python安装目录,与phthon.exe同级

编写代码及代码测试

from selenium import webdriver
'''
@Author: 马家立
@Date: 2020/12/22 17:00
@Description: 延时抓取动态网页数据
'''

print("开始爬取数据...")
option = webdriver.ChromeOptions()
# “no-sandbox”: 沙盒模式运行,以最高权限运行
option.add_argument('-no-sandbox')
# 大量渲染时候写入/tmp而非/dev/shm
option.add_argument('-disable-dev-shm-usage')
# “headless”:不用打开图形界面,若注释则会打开浏览器
option.add_argument('-headless')
# 不加载图片, 提升速度
option.add_argument('-blink-settings=imagesEnabled=false')
# 谷歌文档提到需要加上这个属性来规避bug
option.add_argument('-disable-gpu')
# 添加变量配置
browser = webdriver.Chrome(options=option)
# 访问百度
browser.get('http://www.baidu.com/')
# 打印标题
print(browser.title)
# 关闭浏览器
browser.quit()

Ps:ChromeOptions详情可见:https://www.jianshu.com/p/8ec70859ae03

Linux+python+selenium

1.下载selenium

pip3 instatll selenium

2.安装chrome

Linux 命令安装最新的 Google Chrome

yum install https://dl.google.com/linux/direct/google-chrome-stable_current_x86_64.rpm

或者下载到本地再安装

wget https://dl.google.com/linux/direct/google-chrome-stable_current_x86_64.rpm
yum install ./google-chrome-stable_current_x86_64.rpm

 安装必要的库

yum install mesa-libOSMesa-devel gnu-free-sans-fonts wqy-zenhei-fonts

3、安装及配置 chromedriver

Linux命令查看谷歌浏览器版本 

google-chrome --version

 

Windows下驱动下载:

驱动下载国外连接:http://chromedriver.storage.googleapis.com/index.html

驱动下载国内镜像连接(推荐):http://npm.taobao.org/mirrors/chromedriver/

 将下载好的Linux下chrome对应驱动上传至Linux服务器上

 

推荐放在/usr/bin 目录下:

/usr/bin/chromedriver

 给予执行权限

chmod +x /usr/bin/chromedriver

配置环境变量

export PATH=$PATH:/usr/bin/chromedriver/

编写代码及代码测试

import platform
from selenium import webdriver
'''
@Author: 马家立
@Date: 2020/12/22 17:30
@Description: 延时抓取动态网页数据
'''


print("开始爬取数据...")
option = webdriver.ChromeOptions()
# “no-sandbox”: 沙盒模式运行,以最高权限运行
option.add_argument('-no-sandbox')
# 大量渲染时候写入/tmp而非/dev/shm
option.add_argument('-disable-dev-shm-usage')
# “headless”:不用打开图形界面,若注释则会打开浏览器
option.add_argument('-headless')
# 不加载图片, 提升速度
option.add_argument('-blink-settings=imagesEnabled=false')
# 谷歌文档提到需要加上这个属性来规避bug
option.add_argument('-disable-gpu')
if platform.system().lower() == 'windows':
    print("windows")
    browser = webdriver.Chrome(options=option)
elif platform.system().lower() == 'linux':
    print("linux")
    # 指定驱动路径
    browser = webdriver.Chrome("/usr/bin/chromedriver", options=option)
# 访问百度
browser.get('http://www.baidu.com/')
# 打印标题
print(browser.title)
# 关闭浏览器
browser.quit()

Linux下命令测试

1.给予执行权限

chmod +x puBaiduLinux.py

 

2.运行爬虫文件

python3 + 文件名

测试结果

 

 
posted @ 2020-12-22 17:36  踏步  阅读(1614)  评论(1编辑  收藏  举报