整理好完美使用webdriver进行模拟驱动,再用BeautifulSoup进行提取
样例代码:
1 from selenium import webdriver 2 from selenium.webdriver.common.by import By 3 import time 4 5 if __name__ =='__main__': 6 #options=webdriver.ChromeOptions() 7 #options.binary_location=r'C:\Users\13313\AppData\Local\Google\Chrome\Application\chrome.exe' 8 driver=webdriver.Chrome('E:\Google\Driver\chromedriver.exe') 9 #get方法 打开指定网址 10 driver.get("http://www.baidu.com") 11 #选择网页元素 12 elemnt_keyword=driver.find_element_by_id('kw') 13 #element = driver.find_element(by=By.ID, value="kw") 14 15 #输入搜索信息 16 elemnt_keyword.send_keys('博二爷') 17 #找到搜索按钮 18 element_search_button=driver.find_element_by_id('su') 19 element_search_button.click() 20 21 #等待,进行爬取。 22 time.sleep(2) 23 ret=driver.find_element_by_id('1') 24 print(ret) 25 #获取 值 26 print(ret.text) 27 28 #获取属性值 29 ele = driver.find_element_by_id("1") 30 print(ele.get_attribute('href')) 31 32 #这一条的完整信息 33 ele = driver.find_element_by_id("baidulink") 34 print(ele.get_attribute('outerHTML ')) 35 36 #只获取内部源代码 37 ele = driver.find_element_by_id("baidulink") 38 print(ele.get_attribute('innerHTML')) 39 40 ''' 41 div id="food" style="margin-top:10px;color:red"> 42 <span calss="vegetable good">黄瓜</span> 43 <span calss="meat">牛肉</span> 44 <p calss="vegetable">南瓜</p> 45 <p calss="vegetable">青菜</p> 46 47 代码解决办法: 48 ele = driver.find_element_by_id('food') 49 foodText = ele.get_attribute('innerHTML') 50 1, 51 ret1 = foodText.split('</span>)[1] 52 ret2 = ret1.split('"')[1] 53 2, 54 ele = driver.find_element_by_id('food') 55 html= ele.get_Attribute('innerHTML) 56 from bs4 import BeautifulSoup 57 soup = BeautifulSoup(html,'html5lib') 58 target = soup.find_all('span')[1]['class']#列表 59 print(taget) 60 61 62 获取属性值:print(soup.find('a')['class']) 63 获取文本:soup.find('a')。get_text() 64 65 ''' 66 67 if ret.text.startswith("博二爷"): 68 print("成功") 69 else: 70 print("失败") 71 72 #driver.quit()#全部退出 73 #driver.close()
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· C#/.NET/.NET Core技术前沿周刊 | 第 29 期(2025年3.1-3.9)
· 从HTTP原因短语缺失研究HTTP/2和HTTP/3的设计差异
2019-10-22 Mongodb java.util.NoSuchElementException:null 已解决
2018-10-22 各种内部排序方法及效率分析。
2018-10-22 二叉排序树 构造哈希表,
2018-10-22 邻接矩阵、邻接表存储结构 遍历算法和图的广度优先搜索遍历
2018-10-22 二叉树及其应用
2018-10-22 掌握栈及队列基本操作的实现
2018-10-22 数据结构-掌握线性表的顺序表和链表的基本操作:建立、插入、删除、查找、合并、打印等运算。