day02 request请求库爬取豆瓣电影信息,selenium

请求URL:
https://movie.douban.com/top250
请求方式:
GET
请求头:
user-agent
Cookies
爬取豆瓣信息:
电影名称,电影url,电影导演
电影主演,电影年份,电影类型
电影评分,电影评论,电影简介
分析所有主页的url
第一页:https://movie.douban.com/top250?start=0&filter=
第二页:https://movie.douban.com/top250?start=25&filter=
import requests
import re
def get_page(url):
response = requests.get(url)
#print(response.text)
return response
def parse_index(html):
"""''''''
''''''"""
movie_list = re.findall(
'
.*? (.*?).*? .*?(.
*?).*?导演: (.*?)主演: (.*?)
(.*?)

 

.*?(.*?)
.*?(.*?)人评价.*?(.*?)',
html,
re.S)
return movie_list
def save_data(movie):
top, m_url, name, daoyan, actor, year_type, \
point, commit, desc = movie
year_type = year_type.strip('\n')
data = f'''
电影名称:{top}
电影url:{m_url}
电影导演:{name}
电影主演:{daoyan}
电影年份:{actor}
电影类型:{year_type}
电影评分:{point}
电影评论:{commit}
电影简介:{desc}
'''
print(data)
with open('douban_top250.txt','a',encoding='utf-8') as f:
f.write(data)
print(f'电影:{name} 写入成功')
if __name__=='__main__':
#拼接所有主页
num = 0
for line in range(10):
url = f'https://movie.douban.com/top250?start={num}&filter='
num += 25
print(url)
index_res = get_page(url)
movie_list = parse_index(index_res.text)
for movie in movie_list:
# print(movie)
# 3.保存数据
save_data(movie) 
 
day02 request请求库爬取豆瓣电影信息,selenium_第1张图片

 

 
 
1.什么是selenium
期初是一个自动化测试工具
原理是驱动浏览器执行一些一定好的操作
爬虫本质是模拟浏览器,所以可以用它来做爬虫
2.为什么使用selenium
优点:
执行js代码
不需要分析复杂的通信流程
可以对浏览器做弹窗,下拉等操作
获取动态数据
破解登陆验证
缺点:
执行效率低
安装与使用
1. 安装selenium请求库:
pip3 install selenium
2. 必须安装浏览器
"谷歌"或者火狐
3.安装浏览器驱动
http://npm.taobao.org/mirrors/chromedriver/2.38/
windows:
下载win32驱动
fromseleniumimportwebdriver#web驱动
fromselenium.webdriver.chrome.webdriverimportWebDriver
fromselenium.webdriver.common.byimportBy#按照什么方式查找,By.ID,By.CSS_SELECTOR
fromselenium.webdriver.common.keysimportKeys#键盘按键操作
fromselenium.webdriver.supportimportexpected_conditionsasEC#和下面WebDriverWait一起用的
fromselenium.webdriver.support.waitimportWebDriverWait#等待页面加载某些元素
importtime
importtime
#方式一:通过驱动打开浏览器
#driver=webdriver.Chrome(r'驱动的绝对路径/webdriver.exe')
#方式二:把webdriver.exe驱动放到python解释器安装目录/Scripts文件夹中
#python解释器安装目录/Scripts配置环境变量
#python解释器安装目录配置环境变量
driver=webdriver.Chrome()
try:
driver.get('https://www.jd.com/')
#获取显式等待对象10秒
#可以等待某个标签加载10秒
wait=WebDriverWait(driver,10)
#查找元素id为key
input_tag=wait.until(EC.presence_of_element_located(
(By.ID,'key')
))
time.sleep(5)
#在输入框内输入商品名称
input_tag.send_keys('公仔')
#按下键盘回车键
input_tag.send_keys(Keys.ENTER)
time.sleep(20)
finally:
#关闭浏览器释放操作系统资源
driver.close() 

转载于:https://www.cnblogs.com/x2436876927/p/11123321.html

你可能感兴趣的:(day02 request请求库爬取豆瓣电影信息,selenium)