|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
- from bs4 import BeautifulSoup
- from urllib.request import urlretrieve
- import os
- from selenium import webdriver
- list_src = []
- count = 10
- url = 'https://jandan.net/ooxx/page-46#comments'
- while count > 0 :
- options = webdriver.ChromeOptions()
- options.add_argument('User-Agent="Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/63.0.3239.132 Safari/537.36"')
- #下面两行为使用chrome的headless模式,即不用每次都打开浏览器的窗口
- options.add_argument('--headless')
- options.add_argument('--disable-gpu')
-
- driver=webdriver.Chrome(chrome_options=options)
- """打开网页"""
- driver.get(url)
- #selenium的page_source方法可以获取到页面源码
- """获取打开的网页源码"""
- html = driver.page_source
- driver.close()
- #用BeautifulSoup解析网页源码
- bf = BeautifulSoup(html,'lxml')
- #print(bf.prettify())
- #我们通过分析网页源码得知,图片是保存在div class='content'里面
- #用BeautifulSoup获取所有class属性content的div标签,再把每个标签的href存入list
- """
- CSS类名搜索tag的功能非常实用,但标识CSS类名的关键字 class 在Python中是保留字,
- 使用 class 做参数会导致语法错误.从Beautiful Soup的4.1.1版本开始,
- 可以通过 class_ 参数搜索有指定CSS类名的tag
- """
- target_urls = bf.find_all(name='div',class_='row')
- #print(target_urls)
- for each in target_urls:
- #图片网址存入列表
- list_src.append(each.img.get('src'))
- #print(list_src)
- #改变网址
- url = 'https://jandan.net/ooxx/page-%d#comments'% (count - 1)
- count -= 1
- #存储图片
- os.mkdir('mm')
- os.chdir('mm')
- for i in list_src:
- filename = os.getcwd()+'\mm'+i.split('/')[-1]
- #filename='存储路径'+'存储文件名'
- urlretrieve(i,filename)
- print('下载完成')
-
复制代码 |
|