正怎表达式在爬虫里的应用
爬虫小例子:
]
import re from urllib.request import urlopendef getPage(url): # 获取网页的字符串response = urlopen(url)return response.read().decode('utf-8')def parsePage(s):ret = com.finditer(s) # 从s这个网页源码中 找到所有符合com正则表达式规则的内容 并且以迭代器的形式返回for i in ret:yield {"id": i.group("id"),"title": i.group("title"),"rating_num": i.group("rating_num"),"comment_num": i.group("comment_num"),}def main(num): # 0 25 50 # 这个函数执行10次,每次爬取一页的内容url = 'https://movie.douban.com/top250?start=%s&filter=' % numresponse_html = getPage(url) # response_html就是这个url对应的html代码 就是 strret = parsePage(response_html) # ret是一个生成器print(ret)f = open("move_info7", "a", encoding="utf8")for obj in ret:print(obj)data = str(obj)f.write(data + "\n")f.close()com = re.compile('<div class="item">.*?<div class="pic">.*?<em .*?>(?P<id>\d+).*?<span class="title">(?P<title>.*?)</span>''.*?<span class="rating_num" .*?>(?P<rating_num>.*?)</span>.*?<span>(?P<comment_num>.*?)评价</span>', re.S)count = 0 for i in range(10):main(count)count += 25
View Code
转载于:https://www.cnblogs.com/li-123-peng/p/9493510.html
正怎表达式在爬虫里的应用相关推荐
- C# 常用正责表达式
转自:http://blog.csdn.net/zhengxia19/archive/2008/10/04/3015344.aspx "^\d+$" //非负整数(正整数 + 0) ...
- php中正侧表达式_PHP中正则表达式详解(代码实例)
本文目标: 1.正则表达式的定义 2.正则表达式的几个基本语法 (一).正则表达式的定义 正则表达式是对字符串进行操作的一种逻辑公式,就是用一些特定的字符组合成一个规则字符串 比如:<?php ...
- 爬虫里的多线程基本使用
最近拜读瑞安·米切尔的书关于并行抓取问题有很通俗的介绍: "网页抓去的速度很快,起码通常比雇佣几十个实习生手动网上复制数据要快很多.当然随着技术的不断进步和享乐适应,人们还是在某个时刻觉得' ...
- javascript json_爬虫里总要用到的 JSON 是什么?
JSON作为目前Web主流的数据交换格式,是每个IT技术人员都必须要了解的一种数据交换格式.尤其是在Ajax和REST技术的大行其道的当今,JSON无疑成为了数据交换格式的首选! 一.XML 1.XM ...
- python爬虫里下载压缩文件后缀为(.rar),怎样下载文件才不会损坏
红色标注的地方是问题的描述.是从文件链接里下载后缀为(.rar)的压缩文件,我是从链接里取最后的(.rar)字符集,然后写到保存的文件夹里,下载完了以后所有文件都是损坏的. import reques ...
- php正规则表达式学习笔记(几个常用函数的区别)
preg_mache()函数和 preg_mache_all()函数的区别: preg_mache()只会匹配规则中的字符一次, preg_mache_all()会匹配符合条件的所有字符! 例子对比: ...
- 多个Email的JS检测正刚表达式.
/** *Title:check email pattern Code *Time:2006-11-24 *Author:colinmok */ function chkSendEmail() { ...
- js正侧表达式 三目运算的保留4位小数的运算
> ~~~java删除线格式~~ <div class="form-group"> <label class="col-sm-3 control- ...
- 20单元——学习正解表达式及学习实践 Shell script
正则表达式: 处理字符串的表示方式,它以行为单位来进行字符串的处理操作,正则表达式通过一些特殊符号的辅助,可以让用户轻易地完成[查找.删除.替换]某特定字符串的处理过程. 正则表达式的字符串表达方式依 ...
- 使用Python编写简单网络爬虫抓取视频下载资源
我第一次接触爬虫这东西是在今年的5月份,当时写了一个博客搜索引擎.所用到的爬虫也挺智能的,起码比电影来了这个站用到的爬虫水平高多了! 回到用Python写爬虫的话题. Python一直是我主要使用的脚 ...
最新文章
- 【Android】FragmentTabHost实现底部Tab菜单选项
- [LeetCode] NO.383 Ransom Note
- 17种transformers
- Spring Boot入门——全局异常处理
- DuckChat聊天系统PHP,部署自己的聊天系统 DuckChat(鸭信)仿微信 PHP源码
- php 根据权重随机数,PHP根据概率产生随机数
- 工具 - MyEclipse算法机最新8.6forSpring有效
- UML之涉众/参与者(角色/执行者)(Actor)/业务主角(BusinessActor)/业务工人(BusinessWorker)/用户/角色辨析【图解】...
- linux文件赋予755权限,Linux文件和目录的777、755、644权限解释
- layer弹出层 获取index
- Broadwell I7-5775c/5675c BSOD 蓝屏问题
- 全局唯一递增的id_分布式系统全局唯一ID简介、特点、生成
- Day01----jsp
- 基于麻雀算法优化的相关向量机RVM分类算法
- python转js对象_将Python对象转换为PyV8的JavaScript
- Codeforces Global Round 16 D2. Seating Arrangements (hard version)
- 免费调用快递鸟物流跟踪轨迹订阅接口技术文档
- 史记·孔子世家(强晟翻译版)
- css创意立体字特性
- 学习 第3章:专项练习之一
热门文章
- opencv车牌分割_OpenVINO车牌识别网络详解
- adminlte中数据表格datatable.js中的完整使用方法小案例
- 年轻人不讲武德,竟然重构出这么优雅后台 API 接口
- Redis 基本命令、键(key)命令、基本数据类型(命令行操作)
- 系统常用 Intent 合集
- mysql创建触发器怎么保存_如何创建使用mysql触发器?
- 阶段5 3.微服务项目【学成在线】_day04 页面静态化_10-freemarker静态化测试-基于模板文件静态化...
- 阶段3 3.SpringMVC·_02.参数绑定及自定义类型转换_5 自定义类型转换器演示异常
- 阶段1 语言基础+高级_1-3-Java语言高级_07-网络编程_第3节 综合案例_文件上传_1_综合案例_文件上传的原理...
- 阶段1 语言基础+高级_1-3-Java语言高级_06-File类与IO流_08 转换流_5_InputStreamReader介绍代码实现...