Python爬虫实战1-解决需要爬取网页N秒后的内容的需求
发表于:2024-12-12 作者:千家信息网编辑
千家信息网最后更新 2024年12月12日,小生博客:http://xsboke.blog.51cto.com -------谢谢您的参考,如有疑问,欢迎交流前引: 当你需要爬取的页面内容在访
千家信息网最后更新 2024年12月12日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安全错误
数据库的锁怎样保障安全
软件开发逆袭
无线网络安全模式wpa
我国物种入侵数据库
做软件开发好还测试
管理服务器程序运行的软件
英语不好学软件开发难吗
中国苹果手机的数据库在哪
电子商务网络技术基础第三章
bcb带的数据库
自然资源部门网络安全工作责任制
下载巅峰坦克加载服务器资源失败
完美世界显示服务器异常
开发需要学习的数据库技术
浙江软件开发大概多少钱
nat云服务器怎么搭建网站
上海通服网络技术有限公司
步道乐跑服务器为啥会开小差
山东省网络安全与信息管理技师
国产数据库高职实验室
四川前端软件开发收费报价表
滴滴注销数据库信息同步删除吗
企业网络技术服务合同
科技公司软件开发的分录
网络技术在教学中的使用
qt删除文本文件中数据库
网络安全特征病毒软件什么意思
网络安全法规专门立法
网络安全协同中心
鼎捷的软件开发岗如何
jsp使用数据库