- 积分
- 3632
- 贡献
-
- 精华
- 在线时间
- 小时
- 注册时间
- 2014-10-21
- 最后登录
- 1970-1-1
|

楼主 |
发表于 2020-12-15 11:27:17
|
显示全部楼层
四、百度搜索:进击的巨人第四季
# 该模块使用百度搜索“xxx xxx”,保存搜索结果的标题和链接
from selenium import webdriver
browser=webdriver.PhantomJS()
browser.get('https://www.baidu.com/')
browser.implicitly_wait(5)
#先找出网页中的搜索文本框,右击网页查看源码,搜“type=text”,
# 发现可通过classname,id,name定位
#定位方式有三,选一即可:
textElement=browser.find_element_by_class_name('s_ipt')
# textElement=browser.find_element_by_id('kw')
# textElement=browser.find_element_by_name('wd')
textElement.clear()#先清空搜索框
textElement.send_keys('进击的巨人 第四季')#键入搜索内容
#然后找出网页中提交按钮的位置,在网页源码中搜索“submit”,
#发现可以通过class和id定位,
# submitElement=browser.find_element_by_class_name('')
submitElement=browser.find_element_by_id('su')
submitElement.click()#点击提交按钮
#由于百度的第一条结果可能是资讯集合,比较复杂,跳过之,获取第2-5条结果的标题和链接:
for num in range(2,6):
# 使用id定位:
resultElement=browser.find_element_by_id(str(num))
#获取element的文字或属性值,element.text和element.get_attribute(name)
print('第'+str(num)+'条结果:')
print('标题:\n',resultElement.text)
# print(resultElement.get_attribute('class'))
# #这里的class显示正确,不知为何按该class定位不了
# print(resultElement.get_attribute('tpl'))
x=resultElement.find_element_by_xpath('//*[@id="'+str(num)+'"]/h3/a')
print('链接:\n',x.get_attribute('href'))
输出(太长,部分内容以省略号代表):
第2条结果:
标题:进击的巨人》第四季 01—彼岸_哔哩哔哩......
链接:http://www.baidu.com/link?url=......
第3条结果:
标题:...第四季人设图公布,艾伦引不满,靓仔被画成沧...
链接:http://www.......nzOCYadgj-GMa
第4条结果:
标题:进击的巨人第4季pv_哔哩哔哩 (゜-゜)つロ 干杯......- 百度快照
链接:http:......vZw-eIF3S4a
第5条结果:
标题:...也引起了强烈的不满,因为MAPPA把新角...
链接:http:......ibtu2TtSRpuXxxynK
#要查更多,就要翻页了,这需要定位翻页按钮并click之
|
|