Python爬虫实战1-解决需要爬取网页N秒后的内容的需求
发表于:2025-02-23 作者:千家信息网编辑
千家信息网最后更新 2025年02月23日,小生博客:http://xsboke.blog.51cto.com -------谢谢您的参考,如有疑问,欢迎交流前引: 当你需要爬取的页面内容在访
千家信息网最后更新 2025年02月23日Python爬虫实战1-解决需要爬取网页N秒后的内容的需求
小生博客:http://xsboke.blog.51cto.com
-------谢谢您的参考,如有疑问,欢迎交流
前引:
当你需要爬取的页面内容在访问页面5秒后才会出现, 这时使用python的requests模块就很难爬取到你想要的内容了. requests和selenium的不同: requests是通过模拟http请求来实现浏览网页的 selenuim是通过浏览器的API实现控制浏览器,从而达到浏览器自动化 上面说了,selenium是通过控制浏览器实现访问的,但是linux的命令行是不能打开浏览器的, 幸运的是Chrome和Firefox有一个特殊的功能headless(无头)模式.(就是wujie面模式) 通过headless模式可以实现在linux命令行控制浏览器。 接下来要实现的就是在linux命令行界面通过Chrome的headless模式,实现获取访问网页5秒后的内容
一. 环境准备
1. 安装谷歌浏览器linux版及其依赖包. [root@localhost ~]# wget https://dl.google.com/linux/direct/google-chrome-stable_current_x86_64.rpm [root@localhost ~]# yum localinstall google-chrome-stable_current_x86_64.rpm --nogpgcheck 2. 下载selenium连接chrome的驱动程序(要下载和chrome对应的版本). [root@localhost ~]# google-chrome --version Google Chrome 72.0.3626.109 [root@localhost ~]# https://chromedriver.storage.googleapis.com/72.0.3626.69/chromedriver_linux64.zip [root@localhost ~]# unzip chromedriver_linux64.zip [root@localhost ~]# chmod +x chromedrive 3. 安装python需要模块 # beautifulsoup4是一个html,xml解析器 [root@localhost ~]# pip install beautifulsoup4 selenium
二. 开始实现获取网页5秒后的数据
#!/usr/bin/env python#-*- coding:utf-8 -*-import timefrom bs4 import BeautifulSoupfrom selenium import webdriveropt = webdriver.ChromeOptions() # 创建chrome对象opt.add_argument('--no-sandbox') # 启用非沙盒模式,linux必填,否则会报错:(unknown error: DevToolsActivePort file doesn't exist)......opt.add_argument('--disable-gpu') # 禁用gpu,linux部署需填,防止未知bugopt.add_argument('headless') # 把chrome设置成wujie面模式,不论windows还是linux都可以,自动适配对应参数driver = webdriver.Chrome(executable_path=r'/root/chromedriver',options=opt) # 指定chrome驱动程序位置和chrome选项driver.get('https://baidu.com') # 访问网页time.sleep(5) # 等待5秒content = driver.page_source # 获取5秒后的页面soup = BeautifulSoup(content,features='html.parser') # 将获取到的内容转换成BeautifulSoup对象driver.close()print(soup.body.get_text()) # 通过BeautifulSoup对象访问获取到的页面内容
浏览
浏览器
模式
内容
网页
页面
命令
对象
控制
就是
模块
程序
驱动程序
驱动
不同
特殊
幸运
接下来
位置
功能
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
stn数据库淘宝
华为网络安全与运维证书
人工智能的网络安全问题
网络安全和什么相辅相成
研究生 计算机网络技术
服务器安全 狗
登陆 用户 验证 数据库
塞尔达怎么设置连接服务器
城达通互联网科技有限公司
数据库自动化技术应用
数据库中统计所有学生的平均分
河北软件开发产品介绍
使用数据库检索的感想
社交网络安全有哪些注意事项
怎样查看计算机安全数据库
网络安全大会天津
t430塔式服务器
软件开发完后接口监控
银行服务器
qt从数据库中读取数据
无线网络安全钥匙密码
互联网关注的科技风云
门头沟区专业网络技术售后保障
苹果id老是显示无法连接服务器
医院网络安全监管记录表
超星期刊也是数据库吗
嘉兴便携式工控机服务器
邮箱服务器怎么备份
嵌入式开发转应用软件开发
自然灾害威胁网络安全吗