整理好完美使用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()
复制代码

 

posted @   博二爷  阅读(245)  评论(0编辑  收藏  举报
编辑推荐:
· 从 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 数据结构-掌握线性表的顺序表和链表的基本操作:建立、插入、删除、查找、合并、打印等运算。
点击右上角即可分享
微信分享提示