「这是我参与11月更文挑战的第4天,活动详情查看:2021最后一次更文挑战」
前言
大家好,我是程序猿小白 gw_Gw,很高兴能和大家一起学习进步。
以下内容部分来自于网络,如有侵权,请联系我删除,本文仅用于学习交流,不用作任何商业用途。
摘要
本文主要介绍爬取猫眼即将上映电影信息的方法和结构以及所用到库文件的介绍。
主要任务
爬取网站:
- maoyan.com/films?showT…按照热度排序
- maoyan.com/films?showT…按照上映时间排序,晚到早
爬取内容:
电影名称,演员 上映时间, 电影链接,剧情简介
2. 设计程序结构
- 获取真实url
- 根据真实url解析网页
- 根据功能选择网页内容元素
- 处理爬取到的数据
- 将处理后的数据写入csv文件
3. 根据结构选择所用的库
3.1 所用的库
- selenium库 模拟真实浏览器,动态获取真实url
- BeautifulSoup库 解析网页
- pandas库 操作csv文件
3.2 库的介绍
3.2.1安装
pip install selenium
pin install BeautifulSoup4
pip install pandas
3.2.2方法
selenium
selenium支持多浏览器,但需要对应的浏览器驱动,大家可自行到网上下载对应的浏览器驱动即可。下载后放到python.exe同目录下即可。
2.2 selenium 通过创建浏览器驱动来实现各种功能
browser = webdriver.Firefox()
browser = webdriver.Chrome()
browser = webdriver.Edge()
browser = webdriver.Safari()
browser = webdriver.PhantomJS()
2.3 browser可通过find_element_by_id方式行元素的定位。以id查找就写最后就写id,以class查找就写class_name.
| find_element_by_id | 通过元素id定位 |
|---|---|
| find_elements_by_css_selector | 通过css选择器进行定位 |
| find_element_by_partial_link_text | 通过部分链接定位 |
| find_element_by_xpath | 通过xpath表达式定位 |
| find_element_by_class_name | 通过类名进行定位 |
| find_element_by_link_text | 通过完整超链接定位 |
| find_element_by_tag_name | 通过标签定位 |
查找多个元素就把element变成elements。
beautifulsoup
具体使用参考: 入门Python爬虫--beautifulsoup4库
pandas
pandas操作csv文件
具体使用案例:
dict = {'电影名称': movie_name, '主演': actor_name, "上映时间": release_time, "电影链接": movie_url, "剧情简介": synopsis}
dataframe = pd.DataFrame(dict)
df.to_csv(filename, mode="a", encoding="utf_8_sig")
# 设置encoding="utf_8_sig",解决中文乱码
filename具体生成相对路径下,如果要使用绝对路径请输入完整路径即可。
结语
以上就是关于爬取猫眼电影网站的电影的一些主框架和具体使用到的库文件和方法的介绍,希望对读者有所帮助,如有不正之处,欢迎掘友们指正。下篇我们将给出具体代码和分析介绍,欢迎点赞关注!