本文介绍如何结合前面讲解的基本知识,采用requests,正则表达式,cookies结合起来,做一次实战,抓取猫眼电影排名信息. 用requests写一个基本的爬虫 排行信息大致如下图 网址链接为http://maoyan.com/board/4?offset=0我们通过点击查看源文件,可以看到网页信息每一个电影的html信息都是下边的这种结构 <i class="board-index board-index-3">3</i> <a href="…
这里需要注意一下,在爬取猫眼电影Top100时,网站设置了反爬虫机制,因此需要在requests库的get方法中添加headers,伪装成浏览器进行爬取 import requests from requests.exceptions import RequestException from multiprocessing import Pool import re import json def get_one_page(url): try: headers = {"User-Agent&qu…
目标站点:https://maoyan.com/board/6 # coding:utf8 import requests, re, json from requests.exceptions import RequestException # from multiprocessing import Pool # 获取页面 def get_one_page(url): try: resp = requests.get(url) if resp.status_code == requests.co…
利用Requests+正则表达式爬取猫眼电影top100 目标站点分析 流程框架 爬虫实战 使用requests库获取top100首页: import requests def get_one_page(url): response = requests.get(url) if response.status_code == 200: return response.text return None def main(): url = 'http://maoyan.com/board/4?off…
之前分享了一篇使用requests库爬取豆瓣电影250的文章,今天继续分享使用xpath爬取猫眼电影热播口碑榜 XPATH语法 XPATH(XML Path Language)是一门用于从XML文件中查找信息的语言.通用适用于从HTML文件中查找数据.工欲善其事必先利其器,我们首先来了解XPATH常用的语法规则. 常用匹配规则: 属性 匹配规则描述 nodename 匹配此节点的所有子节点 / 匹配当前节点的直接子节点,不包含孙节点 // 匹配当前节点的所有子孙节点 . 匹配当前节点 .. 匹配…
asyncio是从pytohn3.4开始添加到标准库中的一个强大的异步并发库,可以很好地解决python中高并发的问题,入门学习可以参考官方文档 并发访问能极大的提高爬虫的性能,但是requests访问网页是阻塞的,无法并发,所以我们需要一个更牛逼的库 aiohttp ,它的用法与requests相似,可以看成是异步版的requests,下面通过实战爬取猫眼电影专业版来熟悉它们的使用: 1. 分析 分析网页源代码发现猫眼专业版是一个动态网页,其中的数据都是后台传送的,打开F12调试工具,再刷新网…
requests+正则表达式抓取猫眼电影top100 一.首先我们先分析下网页结构 可以看到第一页的URL和第二页的URL的区别在于offset的值,第一页为0,第二页为10,以此类推. 二.<dd>标签的结构(含有电影相关信息) 三.源代码 import requests import re import json from requests.exceptions import RequestException #获取页面源代码 def get_one_page(url,headers):…
学习目的: 通过一个一个简单的爬虫应用,初窥门径. 正式步骤 Step1:流程框架 抓取单页内容:利用requests请求目标站点,得到单个页面的html代码,返回结果: 正则表达式分析:根据html页面代码分析得到猫眼电影的名称.主演.上映时间.评分.图片信息等: 保存至文件:通过文件的形式将结果保存,每一部电影一个结果一行json字符串: 开启循环及多线程:对页面内容进行遍历,开启多线程提高抓取效率 Step2:实际步骤+分析 1. 在pycharm中新建一个Python项目,新建一个文件s…
一.爬取流程 二.代码演示 #-*- coding: UTF-8 -*- #_author:AlexCthon #mail:alexcthon@163.com #date:2018/8/3 import requests from multiprocessing import Pool # 进程池,用来实现秒抓 from requests.exceptions import RequestException import re import json def get_one_page(url):…
以下笔记,作为参考借鉴,如有疑问可以联系我进行交流探讨! 代码思路很简单,简单概括为:   首先利用requests的get方法获取页面的html文件,之后对得到的html文件进行相对应的正则处理,然后把爬取到的数据保存到本地. # -*- coding: utf-8 -*- """ 爬取的相关信息有:电影名次.电影名称.主演.上映时间.评分   """   import re import time import requests from m…