python爬虫——提取抓取内容(3)经典语录网语录抓取
一.分析代码
对比两个链接
标题正则表达式:
r'<a href="(/a/jingdianmingyan/.*?/\d+\.html)" class="title">(.*?)</a>'
每个标题的内容正则表达式:
r'<div class="content">.*?<td>.*?</div>(.*?)</td>.*?</div>'
二.代码展示
import urllib.request
import urllib.parse
import re
import osdef handle_request(url, page=None): # 设置默认值,可以二次使用(get_text函数)if page != None:url = url + str(page) + '.html'headers = {'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/74.0.3729.131 Safari/537.36',}# print(url)request = urllib.request.Request(url, headers=headers)return requestdef get_text(a_href):# 调用函数构建请求对象request = handle_request(a_href)# 发送请求,获取响应content = urllib.request.urlopen(request).read().decode()# 解析内容pattern = re.compile(r'<div class="content">.*?<td>.*?</div>(.*?)</td>.*?</div>', re.S)lt = pattern.findall(content) # 返回一个列表# print(lt[0])text = lt[0]# 写个正则,将内容里面所有的图片标签全部清空pat = re.compile(r'<img .*?>')text = pat.sub('', text)return textdef parse_content(content):pattern=re.compile(r'<a href="(/a/jingdianmingyan/.*?/\d+\.html)" class="title">(.*?)</a>')"""返回的是一个列表,列表中的元素都是元组,元组中第一个元素就是正则中第一个小括号匹配到的内容,第二个元素就是正则中第二个小括号匹配到的内容"""lt = pattern.findall(content)# print(lt)# 遍历列表for href_title in lt:# 获取内容链接a_href = 'https://www.jdylw.cn'+href_title[0]# 获取标题title = href_title[1]# print(title)# 向a_href发送请求,获取响应内容text = get_text(a_href)# 写入到html中string = '<h1>%s</h1>%s' % (title, text)with open('mingyan.html', 'a',encoding="utf8") as fp:fp.write(string)def main():url = 'https://www.jdylw.cn/a/jingdianmingyan/list_15_'start_page = int(input("请输入起始页码:"))end_page = int(input("请输入结束页码:"))for page in range(start_page,end_page+1):# 根据url和page生成指定的requestrequest=handle_request(url,page)# 发送请求content = urllib.request.urlopen(request).read().decode()# 解析内容parse_content(content)if __name__ == "__main__":main()
用浏览器查看
python爬虫——提取抓取内容(3)经典语录网语录抓取相关推荐
- Python爬虫入门【3】:美空网数据爬取
美空网数据----简介 从今天开始,我们尝试用2篇博客的内容量,搞定一个网站叫做"美空网"网址为:http://www.moko.cc/, 这个网站我分析了一下,我们要爬取的图片在 ...
- Python爬虫编程思想(6):实战案例:抓取所有的网络资源
Python爬虫编程思想(7):实战案例:抓取博客文章列表 到现在为止,我们已经对网络爬虫涉及到的基本知识有了一个初步的了解.本文会编写一个简单的爬虫应用,以便让读者对爬虫有一个基本的认识.本节要编写 ...
- 零基础入门python爬虫之《青春有你2》选手信息爬取
零基础入门python爬虫之<青春有你2>选手信息爬取 完成<青春有你2>选手图片爬取,生成选手图片的绝对路径并输出,统计爬取的图片总数量.使用工具:requests模块.Be ...
- python爬虫数据提取_入门Python爬虫——提取数据篇
原标题:入门Python爬虫--提取数据篇 作者: 李菲 来源:人工智能学习圈 前言 在提取数据这一环节,爬虫程序会将我们所需要的数据提取出来.在上一篇文章<入门Python爬虫 -- 解析数据 ...
- Python爬虫学习第三章-4.3-使用xpath解析爬取全国城市名称
Python爬虫学习第三章-4.3-使用xpath解析爬取全国城市名称 这一节主要是使用xpath解析爬取全国城市名称 这里使用的网址是:空气质量历史数据查询 这一个案例体现的点主要是xpat ...
- python怎么读取pdf为文本_轻松用Python批量提取PDF文本内容,这个小技巧告诉你!...
轻松用Python批量提取PDF文本内容,这个小技巧告诉你!-1.jpg (22.73 KB, 下载次数: 0) 2018-9-7 08:33 上传 本文为你展示,如何用Python把许多PDF文件的 ...
- 【爬虫+数据可视化毕业设计:英雄联盟数据爬取及可视化分析,python爬虫可视化/数据分析/大数据/大数据屏/数据挖掘/数据爬取,程序开发-哔哩哔哩】
[爬虫+数据可视化毕业设计:英雄联盟数据爬取及可视化分析,python爬虫可视化/数据分析/大数据/大数据屏/数据挖掘/数据爬取,程序开发-哔哩哔哩] https://b23.tv/TIoy6hj
- 【【数据可视化毕业设计:差旅数据可视化分析,python爬虫可视化/数据分析/大数据/大数据屏/数据挖掘/数据爬取,程序开发-哔哩哔哩】-哔哩哔哩】 https://b23.tv/iTt30QG
[[数据可视化毕业设计:差旅数据可视化分析,python爬虫可视化/数据分析/大数据/大数据屏/数据挖掘/数据爬取,程序开发-哔哩哔哩]-哔哩哔哩] https://b23.tv/iTt30QG ht ...
- Python爬虫编程思想(48):项目实战:抓取起点中文网的小说信息
本文会利用requests库抓取起点中文网上的小说信息,并通过XPath提取相关的内容,最后将经过提取的内容保存到Excel文件中.本例需要使用第三方的xlwt库,该库用来通过Python操作Exce ...
- python爬虫提取人名_python爬虫—爬取英文名以及正则表达式的介绍
python爬虫-爬取英文名以及正则表达式的介绍 爬取英文名: 一. 爬虫模块详细设计 (1)整体思路 对于本次爬取英文名数据的爬虫实现,我的思路是先将A-Z所有英文名的连接爬取出来,保存在一个csv ...
最新文章
- Alpha冲刺——day1
- ios 设置属性的center_ios center.x设置
- 【数据竞赛】99%情况下都有效的特征筛选策略--Null Importance。
- 【2010福建】收稻子 (校BSOJ1114)
- H264码流打包分析
- System memory,AGP memory和video memory
- 外媒:柔宇科技搁置赴美上市计划 考虑在中国进行IPO
- zookeeper之系列五:简单操作
- python变量赋值
- 腾讯云刘颖:与微信共建小程序开发者生态,让小程序开发更简单
- 认识与使用计算机 答案,计算机学习感悟—对计算机的认知和理解
- AIDL解析(一):AIDL原理解析
- 什么是软件项目管理中的WBS?
- 汇报工作的六大原则,不然怎么努力也白费
- Unity特效基础:粒子效果面板
- SQLmap-tamper详细介绍
- al11-添加SAP目录
- 原生开发什么意思_APP原生开发和混合开发的区别你了解多少
- 如何正确选择合适自己的英文学习方法和材料?
- MindOpt安装配置教程(Windows系统)
热门文章
- 软件测试的性能指标从哪获取,软件性能测试指标有哪些?做性能测试前注意事项...
- 有三个数abc 要求按大小顺序把它们输出_幼儿园中班数学教案按规律排序活动教学设计三篇【幼儿教师教案】...
- ios swift5 获取状态栏(电池栏)和导航栏高度
- Nvidia钱太多,买个IBM怎么样?
- 英语面试-询问问题篇
- 杰理之音频编码AUDIO_ENC【篇】
- mysql fulltext like_MySQL全文索引 FULLTEXT索引和like的区别
- CreateProcess()接收程序的输出
- 如何在浏览器中控制使用USB摄像头
- 《那些年啊,那些事——一个程序员的奋斗史》——62