标签:douban soup python 爬虫 url import path 美女 browser
在谷歌浏览器运行需要chromedriver.exe文件放在同级目录下
import re
import urllib
import requests
import os
from bs4 import BeautifulSoup
import time
from selenium import webdriver ##驱动浏览器
from selenium.webdriver.support.wait import WebDriverWait
def id(path):
browser = webdriver.Chrome() ##调用Chrome的驱动,生产一个浏览器对象
wait = WebDriverWait(browser, 10) ##设置selenium等待浏览器加载完毕的最大时间
try:
url = "https://movie.douban.com/"
browser.get(url)
douban = browser.find_element_by_id("inp-query")
douban.send_keys(path)
douban = browser.find_element_by_css_selector(".nav-search .inp-btn input")
douban.click()
browser.find_element_by_class_name("cover").click()
url = browser.current_url
id = url.split("/")[-2]
browser.close()
return id
except:
pass
def getContent(q,w):
headers={
"User-Agent":"Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/75.0.3770.100 Safari/537.36" ,
'Connection': 'keep-alive'
}
url = "https://movie.douban.com/celebrity/%s/photos/?type=C&start=%s&sortby=like&size=a&subtype=a"%(q,w)
##请求对象(url+请求头)
r = requests.get(url,headers = headers)
##获取页面内容
soup = BeautifulSoup(r.text,"html.parser")
return soup
def getItem(soup):
try:
movieList = soup.find("ul",attrs={"class": "poster-col3 clearfix"})
List = movieList.find_all("img")
num = re.findall(r'src="(.+?)"', str(List))
return num
except:
os.removedirs(path)
print("您输入的不是明星")
def downloadFile(url,dir,index):
ext = url.split(".")[-1]
path = dir + "/" + str(index)+"."+ext
urllib.request.urlretrieve(url,path)
def creadDir(path):
if os.path.isdir(path)==False:
os.mkdir(path)
def ye(q):
try:
for w in range(0,10000,30):
soup = getContent(q, w)
list = getItem(soup)
n = 1
for m in range(0, len(list)):
url = list[m]
downloadFile(url, path, n)
n += 1
return "完成"
except:
pass
path = input("请输入需要查找的明星")
q = id(path)
creadDir(path)
ye(q)
标签:douban,soup,python,爬虫,url,import,path,美女,browser 来源: https://blog.csdn.net/weixin_56369425/article/details/117339384
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。