一 requests请求库爬取豆瓣电影信息
- 请求url
https://movie.douban.com/top250
- 请求方式
GET
- 请求头
user-agent
cookies
import requests
import re
def get_page(url):
response = requests.get(url)
return response
def parse_index(html):
movie_list = re.findall('<div class="item">,*?<em class="">(.*?)</em>.*?<a href="(.*?)">'
'.*?<span class="title">(.*?)</span>.*?导演:(.*?)主演:(.*?)<br>(.*?)</p>'
'.*?<span class="rating_num",*?>(.*?)</span>.*?<span>(.*?)人评价</span>'
'.*?<span class="inq">(.*?)</span>',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}
================请官人下次再来哟================
\n
\b
'''
print(data)
with open('douban_top250.text','a',encoding='utf-8') as f:
f.write(data)
print(f'电影:{name} 写入成功。。。')
if __name__ == '__main__':
num=0
for line in range(10):
url = f'htt=://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:
save_data(movie)
二 selenium请求库
1、什么是selenium?
期初是一个自动化测试工具,原理是驱动
浏览器执行一些一定好的操作。爬虫本质
上就是模拟浏览器,所以可以使用它来做爬虫。
2、为什么要使用selenium?
优点:
- 执行js代码
- 不需要分析复杂的通信流程
- 对浏览器做弹窗、下拉等操作
- ***** 获取动态数据
- *** 破解登录验证
缺点:
- 执行效率低
3、安装与使用
1. 安装selenium请求库:
pip3 install selenium
2. 必须安装浏览器
"谷歌"或者火狐
3.安装浏览器驱动
http://npm.taobao.org/mirrors/chromedriver/2.38/
windows:
下载win32驱动