爬虫作业三

作业要求 : 百度搜索安徽理工大学 打开官网 点击学校要闻那里面的更多 爬取三页的标题和url插入代码片

第一步

安装selenium包
爬虫作业三_第1张图片

第二步

下载geckodriver-v0.28.0-win64
火狐插件下载地址
下载太慢
我已上传至蓝奏云盘连接如下
点击打开蓝奏云链接
我使用的是火狐浏览器,上面这个插件使用了目前最新版本
将火狐浏览器跟新到最新
将geckodriver-v0.28.0-win64解压,放在一个目录下,不需要安装解压后的.exe文件
如在F盘中新建文件夹python,将上述压缩包内.exe文件解压放在该目录下

第三步

代码如下

from bs4 import  BeautifulSoup
from selenium import webdriver
import time
#通过executable_path参数指定Firefox驱动文件所在位置
driver = webdriver.Firefox(executable_path="F:\python\\geckodriver")
driver.maximize_window()
#打开百度首页
#driver.get("http://www.aust.edu.cn/")
driver.get("http://www.baidu.com")

driver.find_element_by_id('kw').send_keys("安徽理工大学 ")
time.sleep(3)
driver.find_element_by_id('su').click()
line_list = driver.find_elements_by_xpath("//h3[@class='t']")
#'''xpath提取特征'''
time.sleep(3)
driver.find_element_by_id("1").find_element_by_tag_name("a").click()
new_window = driver.window_handles[-1]#【-1】保证永远找到最后一个窗口
driver.switch_to.window(new_window) #切换到新窗口
time.sleep(3)
print("跳转后的URL")
print(driver.current_url)
#driver.find_element_by_xpath("/html/body/div[1]/div[3]/div[1]/div[3]/div[1]/div[1]/div[1]/a/span").click()
driver.find_element_by_xpath("/html/body/div[5]/div[1]/div/div/div[1]/div[3]/a").click()#点击操作
print('当前页面URL')
print(driver.current_url)
#等待3秒
time.sleep(3)
C= driver.find_element_by_css_selector('[class="list-r-c"]')#获取指定代码
#print(C.get_attribute('outerHTML'))
text=C.get_attribute('outerHTML')
soup=BeautifulSoup(text, 'lxml')
a_list = soup.find_all('a')
print(a_list)
print(len(a_list))
del a_list[15:17]
for i  in a_list:
    print(i.string)
    url='http://news.aust.edu.cn/'+i['href']
    print(url)

#退出浏览器
driver.quit()

结果演示

最后代码,不得不说写的是真的丑,丑到了极致

from bs4 import  BeautifulSoup
from selenium import webdriver
import time
#通过executable_path参数指定Firefox驱动文件所在位置
driver = webdriver.Firefox(executable_path="F:\python\\geckodriver")
driver.maximize_window()
#打开百度首页
#driver.get("http://www.aust.edu.cn/")
driver.get("http://www.baidu.com")

driver.find_element_by_id('kw').send_keys("安徽理工大学 ")
time.sleep(3)
driver.find_element_by_id('su').click()
line_list = driver.find_elements_by_xpath("//h3[@class='t']")
#'''xpath提取特征'''
time.sleep(3)
driver.find_element_by_id("1").find_element_by_tag_name("a").click()
new_window = driver.window_handles[-1]#【-1】保证永远找到最后一个窗口
driver.switch_to.window(new_window) #切换到新窗口
time.sleep(3)
print("跳转后的URL")
print(driver.current_url)
#driver.find_element_by_xpath("/html/body/div[1]/div[3]/div[1]/div[3]/div[1]/div[1]/div[1]/a/span").click()
driver.find_element_by_xpath("/html/body/div[5]/div[1]/div/div/div[1]/div[3]/a").click()#点击操作
print('当前页面URL')
print(driver.current_url)
#等待3秒
time.sleep(3)
C= driver.find_element_by_css_selector('[class="list-r-c"]')#获取指定代码
#print(C.get_attribute('outerHTML'))
text=C.get_attribute('outerHTML')
soup=BeautifulSoup(text, 'lxml')
a_list = soup.find_all('a')
print(a_list)
print(len(a_list))
del a_list[15:17]
for i  in a_list:
    print(i.string)
    url='http://news.aust.edu.cn/'+i['href']
    print(url)
driver.find_element_by_xpath("/html/body/div[3]/div/div[3]/div[2]/div[2]/div/div/div/table/tbody/tr/td/table/tbody/tr/td[2]/div/a[1]").click()
print('第二页面URL')
print(driver.current_url)
time.sleep(3)
C= driver.find_element_by_css_selector('[class="list-r-c"]')#获取指定代码
text=C.get_attribute('outerHTML')
soup=BeautifulSoup(text, 'lxml')
a_list = soup.find_all('a')
print(a_list)
print(len(a_list))
del a_list[0:3]
print(len(a_list))
del a_list[15:30]
for i  in a_list:
    print(i.string)
    url='http://news.aust.edu.cn/'+i['href']
    print(url)
#第三页
driver.find_element_by_xpath("/html/body/div[3]/div/div[3]/div[2]/div[2]/div/div/div/table/tbody/tr/td/table/tbody/tr/td[2]/div/a[3]").click()
print('第三页面URL')
print(driver.current_url)
time.sleep(3)
C= driver.find_element_by_css_selector('[class="list-r-c"]')#获取指定代码
text=C.get_attribute('outerHTML')
soup=BeautifulSoup(text, 'lxml')
a_list = soup.find_all('a')
print(a_list)
print(len(a_list))
del a_list[0:3]
print(len(a_list))
del a_list[15:30]
for i  in a_list:
    print(i.string)
    url='http://news.aust.edu.cn/'+i['href']
    print(url)

#print(driver.page_source)
# text=driver.page_source
# page_text = text.text
# Candidate_name = driver.find_element_by_xpath("/html/body/div[3]/div/div[3]/div[2]/div[2]/div/div/ul/li[1]/a").text
# print(Candidate_name)

# for a in driver.find_elements_by_tag_name("a"):
#     print(a.text)
#     print(a['href'])
#退出浏览器
driver.quit()

输出结果
爬虫作业三_第2张图片

你可能感兴趣的:(爬虫,笔记,学习,python,爬虫,selenium)