这是简单的聚焦爬虫,爬取猫眼前100的电影,刚学爬虫时写的,没有什么困难的东西,但是如果以后再有新人看到的话,希望能对你产生一点点的帮助,具体代码和注释如下:

import requests
from bs4 import BeautifulSoup
from requests.exceptions import RequestException
import pymongo
from config import *
import jsonclient=pymongo.MongoClient(MONGO_URL,connect=False)
db=client[MONGO_DB]# url='http://maoyan.com/board/4'
headers={'User-Agent':'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/67.0.3396.99 Safari/537.36','Cookie':'__mta=20387463.1534995524246.1534998228834.1535008834516.15"; uuid_n_v=v1; uuid=09407D90A68611E8836EF5378CA03BDF6D7D6F64A44A44D79AB89AC4FFEF8C16; _csrf=35078fdcb3f945837528736f009a0e621a84ee74b5c85a39cf91ab7c385a3949; _lx_utm=utm_source%3Dwww.sogou%26utm_medium%3Dorganic; _lxsdk_cuid=16564dce62bc8-09fea28dc57f5f-5e442e19-144000-16564dce62bc8; _lxsdk=09407D90A68611E8836EF5378CA03BDF6D7D6F64A44A44D79AB89AC4FFEF8C16; __mta=20387463.1534995524246.1534995949923.1534996074539.5"; _lxsdk_s=%7C%7C0'
}#分析排行榜的url,产生url列表
urls=['http://maoyan.com/board/4?offset={}'.format(str(i)) for i in range(0,100,10)]#对排行页发送get请求,获取排行榜内电影的链接,拼接成url内容
def get_one_page_url(url):try:response=requests.get(url,headers=headers)#判断是否成功获得相应if response.status_code==200:soup = BeautifulSoup(response.text, 'lxml')links=soup.select('#app > div > div > div.main > dl > dd > a')for lin in links:url = 'http://maoyan.com' + lin.get('href')parse_one_page(url)return '无法连接'except RequestException:return '出现错误'# 解析每一页的网页
def parse_one_page(url):try:response=requests.get(url,headers=headers)if response.status_code==200:soup=BeautifulSoup(response.text,'lxml')name=soup.select('body > div.banner > div > div.celeInfo-right.clearfix > div.movie-brief-container > h3')classification=soup.select('body > div.banner > div > div.celeInfo-right.clearfix > div.movie-brief-container > ul > li:nth-of-type(1)')time=soup.select('body > div.banner > div > div.celeInfo-right.clearfix > div.movie-brief-container > ul > li:nth-of-type(3)')introduce=soup.select('#app > div > div.main-content > div > div.tab-content-container > div.tab-desc.tab-content.active > div:nth-of-type(1) > div.mod-content > span')for 电影名称, 电影类别, 上映时间, 电影介绍 in zip(name, classification, time, introduce):data = {'电影名称': 电影名称.get_text(),'电影类别': 电影类别.get_text(),'上映时间': 上映时间.get_text(),'电影介绍': 电影介绍.get_text()}print(data)# save_to_mongo(data)write_to_file(data)return '无法连接'except RequestException:return '出现错误'#存入数据库
def save_to_mongo(result):try:if db[MONGO_DB].insert(result):print('成功存入')except Exception:print("失败")#保存成text格式
def write_to_file(content):with open('data.txt', 'w+') as f:f.write('data.txt')f.close()def main():for url in urls:get_one_page_url(url)if __name__=='__main__':main()

爬取猫眼评分前100的电影相关推荐

  1. 爬取豆瓣评分前50的电影信息

    文章目录 项目描述 内容模块 代码区 运行测试 项目描述 根据豆瓣评分排名,获取豆瓣评分前50的电影信息.主要包括:电影名称.电影评分.评价人数和电影短评信息,并存储到本地表格文件. 内容模块 使用r ...

  2. python爬取微信小程序(实战篇)_python爬取猫眼的前100榜单并展示在微信小程序

    首先分析要爬取的网页,对其结构及数据获取方式解析后,可采用正则筛选自己要的数据 猫眼榜单.png import requests from requests.exceptions import Req ...

  3. python实战(一)Python爬取猫眼评分排行前100电影及简单数据分析可视化python实战(一)Python爬取猫眼排行前一百电影及简单数据分析可视化

    python实战(一)Python爬取猫眼排行前一百电影及简单数据分析可视化 一.抓取数据 需要的库 request库 响应http请求 json库 将文本保存成json形式 pyquery 类似JQ ...

  4. python实战(一)Python爬取猫眼评分排行前100电影及简单数据分析可视化

    python实战(一)Python爬取猫眼排行前一百电影及简单数据分析可视化 一.抓取数据 需要的库 request库 响应http请求 json库 将文本保存成json形式 pyquery 类似JQ ...

  5. Python3简单爬虫:爬取猫眼评分top100电影

    Python3:用xpath库爬取猫眼评分top100电影 在看<Python3 网络爬虫开发实战中>一书学习时,书中第三章例子用re正则匹配来爬取电影的所需数据,虽然爬取速度快,效率好, ...

  6. 爬取猫眼上近期上映的电影及评分信息

    爬取猫眼上近期上映的电影及评分信息 文章目录 爬取猫眼上近期上映的电影及评分信息 1.网页分析 2.相关代码 3.总结 本次爬虫使用的是re,requests和bs库,如果没有,可以使用pip命令安装 ...

  7. Crawler:基于requests库+json库+40行代码实现爬取猫眼榜单TOP100榜电影名称主要信息

    Crawler:基于requests库+json库+40行代码实现爬取猫眼榜单TOP100榜电影名称主要信息 目录 输出结果 实现代码 输出结果 实现代码 # -*- coding: utf-8 -* ...

  8. Python爬取猫眼评分9.5的《海王》的3万条评论

    前言 2018年12月7日,本年度最后一部压轴大片<海王>如期上映,目前猫眼评分达到9.5分,靠着1.5亿美金的制作成本,以小博大,目前票房接近9亿,本文爬取了猫眼3w+条评论,多方位带你 ...

  9. 爬取豆瓣网前一百名电影

    网站爬取的流程图: 实现项目我们需要运用以下几个知识点 一.获取网页 1.找网页规律: 2.使用 for 循环语句获得网站前4页的网页链接: 3.使用 Network 选项卡查找Headers信息: ...

最新文章

  1. JIT Compiler编译器及指令集
  2. 钱包一般链接那个节点_Zcash屏蔽地址漏洞或揭示全节点IP地址(附解决方案)...
  3. php 前端页面的路由,ThinkPHP5路由
  4. tensorflow 对csv数据进行批量获取
  5. 实验四十一、×××(IPSec)的配置
  6. Cisco端口限速配置
  7. Linux环境 文件分割的方法
  8. C#: 8.0 和 9.0 常用新特性
  9. 【APICloud系列|30】苹果MAC电脑取消辅助功能-语音识别
  10. 解决Win7上的连接access数据库的问题
  11. Android开发 使用HBuilder的缓存方法
  12. Java类集框架 —— ArrayList源码分析
  13. Matlab系列教程_基础知识_程序控制
  14. SPSS 量表和问卷编制的基本步骤【SPSS 031期】
  15. 微信小程序开发-新闻简讯demo
  16. 华为设备配置MAC地址漂移检测
  17. 浪曦视频《J2EE测试使用指南Junit3.8详解》学习总结
  18. 计算机设备码的功能,电脑机器码,详细教您电脑机器码修改软件
  19. 基于S3c2440的多种显示屏测试方案
  20. 2014年个人工作愿景

热门文章

  1. 编辑视频贴纸软件_12款自媒体视频剪辑制作软件,爆款内容必备神器!
  2. MySQL:指定索引+事务+存储引擎的配置 开发必备 天呐!为什么会有索引这种东西
  3. dom4j解析xml格式字符串获取标签属性和内容
  4. java编程实现行列式计算应用,行列式算法(java)
  5. 数理基础(概率论)------离散型和连续型分布期望方差公式
  6. 知识图谱(七)——事件抽取
  7. nand2tetris 布尔函数和和门逻辑路线图
  8. 华为云mysql认证ssl_华为云SSL证书
  9. 易企秀手机html5场景源码,仿易企秀V15.1手机网页DIY制作工具完整版开源版源码修复采......
  10. Kafka拉取某一个时间段內的消息