python3下用selenium库和chrome的headless模式实现网页抓取(注释中有用phantomJS的小段代码)

这篇博客介绍了如何使用Python3的Selenium库配合Chrome的headless模式来抓取动态网页数据。重点在于处理“加载更多”按钮的情况,同时提到了需要匹配版本的ChromeDriver,将Chrome路径添加到环境变量,以及使用ChromeOptions的设置。文章最后给出了完整的代码示例。
摘要由CSDN通过智能技术生成

代码功能:实现动态网页下的数据抓取(本例主要是因为要点击“加载更多”的按钮的原因)

要注意的地方:

1、chrome无需专门下载什么headless版本,桌面版在用的就可以,但是要下多一个chromedriver,并且要跟所用的chrome版本对应,chromedriver下载地址为:http://chromedriver.storage.googleapis.com/index.html。

2、需要添加chrome.exe所在文件夹地址进系统环境变量,具体可查看网上教程。不复杂。

3、selenium.webdriver.ChromeOptions下的add_argument和binary_location要设置好,才能正确打开。

4、记得要关闭系统浏览器和驱动进程,才能释放系统资源。此处close方法不行,要用quit方法。

 

好,下面二话不说,贴上代码:

 

# 运行于python3版本
# 这是一个目的为在“https://www.cjrl.cn/jiedu/meiguo-325.html”该网址爬取EIA数据和API数据的程序
# EIA[美国能源信息署(Energy Information Administration)]原油库存数据:
# API[美国石油协会(American Petroleum Institute)]库存数据:
# 改为用chrome的headless版本(预计会更快)
#-*- coding:utf-8 -*-

# ***************************************************************************
# 导入模块
import re
import os
import chardet
import codecs
import traceback
import time
import csv
from urllib.request import urlopen as uo
from urllib.request import urlretrieve as ur
from selenium import webdriver
# 导入所需模块结束
# ***************************************************************************

# ***************************************************************************
# 基础数据
eia_page_link = 'https://www.cjrl.cn/jiedu/meiguo-325.html'
api_page_link = 'https://www.cjrl.cn/jiedu/meiguo-324.html'
# 基础数据赋值完毕
# ***************************************************************************

# ***************************************************************************
# 定义功能函数
# ***************************************
# 函数一:mkdir() 创建目录
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值