1. 简书的文章页面主要包括 标题 文章 图片 评论 作者信息
2. 其中的作者信息和图片有一点特别, 应该都是JS加载的, 所以我没多想,直接selenium走起
3. 图片的URL地址是懒加载出来的所以我在网页找了一部分代码, 实现页面间断拖动, 直到网页底部,以免selenium直接拖到底部,加载不出图片
4. 用下面的代码可以获取这个页面的完整内容啦, 再使用 soup 或者 lxml 提取数据就好了
def get_page(url): bro = webdriver.Chrome('./chromedriver.exe') # 加载工具 bro.get(url) scroll_to_bottom(bro) # 滚动加载 page_text = bro.page_source return page_text # 滚动加载 def scroll_to_bottom(driver): # driver.execute_script("window.scrollTo(0,document.body.scrollHeight);") 滑动到页面底部 js = "return action=document.body.scrollHeight" # 获取总高度 # 初始化现在滚动条所在高度为0 height = 0 # 当前窗口总高度 new_height = driver.execute_script(js) while height < new_height: # 将滚动条调整至页面底部 for i in range(height, new_height, 300): driver.execute_script('window.scrollTo(0, {})'.format(i)) time.sleep(0.2) height = new_height time.sleep(1) new_height = driver.execute_script(js)