当前位置:   article > 正文

怎样使用爬虫简单获取猫眼电影专业版的数据_爬虫猫眼经典电影

爬虫猫眼经典电影

我决定使用requests和BeautifulSoup两个库的功能从猫眼专业版(具体网址:影片总票房排行榜 (maoyan.com))上面获取数据

  1. 目录

    1.安装requests和BeautifulSoup

    在pycharm的具体安装方法如下:

    BeautifulSoup也是通过这个方法安装的:

    2.关于User-Agent

    3.编写代码


  2. 1.安装requests和BeautifulSoup

  3. tips:requests和BeautifulSoup是Python的扩展库,是需要提前安装的。

pycharm的具体安装方法如下:

BeautifulSoup也是通过这个方法安装的:

2.关于User-Agent

在很多的网站都会设置反爬虫的功能,一般情况下我们编写的程序发出的请求会被网址拒绝,但浏览器就不会啦。所以我们要将我们编写的程序伪装成浏览器,让网站同意我们的请求。这个时候就要在我们的程序中设置一个User-Agent,将程序发出的请求伪装成浏览器的。

以下是获取User-Agent的方法:

3.编写代码

本人是参考B站的老师讲授的代码【Python爬虫案例】批量爬取电影票房+数据分析可视化_哔哩哔哩_bilibili

  1. import requests
  2. from bs4 import BeautifulSoup
  3. headers = {
  4. "User-Agent" :"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/108.0.0.0 Safari/537.36 Edg/108.0.1462.42"
  5. } #将程序发出的请求伪装成浏览器
  6. text = requests.get("https://piaofang.maoyan.com/rankings/year",headers=headers).text
  7. #通过requests请求到电影票房的网页
  8. main_page = BeautifulSoup(text,"html.parser")#后面这个是html的解析器
  9. #使用BeautifulSoup对text进行解析
  10. div = main_page.find("div",attrs={"id": "ranks-list"})
  11. #找到名为div且id为ranks-list的所有标签
  12. f = open("MovieData.csv", mode="a")
  13. #创建一个名为MovieData.csv的文件,放在变量f中,且可以在其后面直接追加文字
  14. uls = div.find_all('ul')
  15. #找到div元素中所有名为ul的元素,并存储在uls变量中
  16. for ul in uls : #对uls中的元素进行遍历
  17. lst1 = ul.find_all("li", attrs={"class": "col1"})#找到ul中所有类名为col1的Li元素,并储存在lst1
  18. lst2 = ul.find_all("li", attrs={"class": "col2"})#找到ul中所有类名为col2的Li元素,并储存在lst2
  19. lst3 = ul.find_all("li", attrs={"class": "col3"})#找到ul中所有类名为col3的Li元素,并储存在lst3
  20. lst4 = ul.find_all("li", attrs={"class": "col4"})#找到ul中所有类名为col4的Li元素,并储存在lst4
  21. for li in lst1 : #对lst1中的元素进行遍历
  22. ps = li.find_all("p") #找到ps中所有p元素,并储存在ps
  23. for p in ps : #对ps中的元素进行遍历
  24. f.write(p.text.strip()) #将p标签中的文本去除分隔符后写进f中的文件
  25. f.write(",") #在f文件后面追加,
  26. for li in lst2: #对lst2中的元素进行遍历
  27. f.write(li.text.strip()) #将li标签中的文本去除分隔符后写进f中的文件
  28. f.write(",") #在f文件后面追加,
  29. for li in lst3: #对lst3中的元素进行遍历
  30. f.write(li.text.strip()) #将li标签中的文本去除分隔符后写进f中的文件
  31. f.write(",") #在f文件后面追加,
  32. for li in lst4: #对lst4中的元素进行遍历
  33. f.write(li.text.strip()) #将li标签中的文本去除分隔符后写进f中的文件
  34. f.write(",") #在f文件后面追加,
  35. f.write("\n") #在f文件后面追加换行符

该文章仅作为本人的学习记录,如有错误,请各位大佬指出。

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/小小林熬夜学编程/article/detail/385809
推荐阅读
相关标签
  

闽ICP备14008679号