北京通州住房和城乡建设部网站,建设部网站焊工证件查询,给wordpress注册用户发邮件,网站建设公司有哪些原day4 selenium爬取数据
一、selenium基本操作
导入相关模块#xff1a;
from selenium.webdriver import Chrome(一)、创建浏览器对象
b Chrome()(二)、打开网页#xff08;需要爬取哪个页面的数据就打开该页面对应的网页地址#xff09;
案例#xff1a;爬取豆瓣电影…day4 selenium爬取数据
一、selenium基本操作
导入相关模块
from selenium.webdriver import Chrome(一)、创建浏览器对象
b Chrome()(二)、打开网页需要爬取哪个页面的数据就打开该页面对应的网页地址
案例爬取豆瓣电影250排行榜
b.get(https://movie.douban.com/top250?start0filter)(三)、获取网页源代码注意不管以什么方式更新了界面内容page_source也会自动更新
print(b.page_sourse) # 获取豆瓣top250的页面源代码二、selenium的翻页
导入相关模块
import time # 控制停顿时间的模块from selenium.webdriver import Chrome一、翻页方法1 找到不同页面地址的变化规律利用循环实现多页数据的请求 b Chrome() # 这个是打开浏览器一定要放在循环的外面for x in range(0, 256, 25): # 找出的页数变化b.get(https://movie.douban.com/top250?start{x}filter)print(b.page_source)二、翻页方法2 点击翻页按钮刷新页面内容在刷新后再次获取网页源代码 导入模块
from selenium.webdriver.common.by import Byb Chrome()
b.get(https://movie.douban.com/top250?start0filter)for _ in range(5):print(b.page_source)# 获取下一页按钮# next b.find_element(By.CLASS_NAME, next)# 点击下一页按钮# next.click()b.find_element(By.CSS_SELECTOR, .next)翻页方法2涉及的知识点 selenium获取标签
浏览器对象.b.find_element(获取方式,数据) —— 返回符合条件的第一个标签结果是标签对象
浏览器对象.b.find_elements(获取方式,数据) —— 返回符合条件的所有标签结果是列表列表中的元素是标签对象获取方式
By.ID —— 通过ID属性值获取标签
By.CLASS_NAME —— 通过class属性值获取标签
By.CSS_SELECTOR —— 通过css选择器获取标签
By.LINK_TEXT —— 通过a标签的标签内容获取标签
By.PARTIAL_LINK_TEXT —— 通过标签内容所包含的部分内容来获取完整标签操作标签
1输入框输入内容输入框对应的标签.send_kyes(需要输入的内容) —— 括号里输入需要输入的内容
2点击标签标签对象.click()三、用代码控制浏览器滚动
js中页面滚动的代码window.scrollBy(x方向的偏移量y方向的偏移量)滚动1次
b.execute_script(window.scrollBy(0,500)) # 顺着Y轴滚动500滚动多次
for x in range(10): # 滚动10次b.execute_script(window.scrollBy(0,500))time.sleep(1) # 每滚动一次就停顿1秒input(‘结束’) # 如果不想关闭浏览器就加个input入股要关闭则不加