爬取网页信息其实就是向网页提出请求,服务器就会将数据反馈给你
2. 获得动态加载源码
导入需要的用的模块和库:
from bs4 import BeautifulSoup
import time
import def_text_save as dts
import def_get_data as dgd
from selenium import webdriver
from selenium.webdriver.common.keys import Keys
from selenium.webdriver.common.action_chains import ActionChains #引入ActionChains鼠标操作类
获取网页信息需要发送请求,requests 能帮我们很好的完成这件事,但是仔细观察发现网易新闻是动态加载,requests 返回的是即时信息,网页部分稍后加载出来的数据没有返回,这种情况 selenium 能够帮助我们得到更多的数据,我们将 selenium 理解为一个自动化测试工具就好,Selenium 测试直接运行在浏览器中,就像真正的用户在操作一样。
我使用的浏览器为Firefox
browser = webdriver.Firefox()#根据浏览器切换
browser.maximize_window()#最大化窗口
browser.get(‘http://news.163.com/domestic/’)
这样我们就能驱动浏览器自动登陆网易新闻页面
我们的目标自然是一次将国内板块爬取下来,观察网页,在网页不断向下刷时,新的新闻才会加载出来,到最下面甚至还有需要点击按钮才能刷新:
这时使用 selenium 就能展现其优势:自动化,模拟鼠标键盘操作:
diver.execu