一.分析代码

对比两个链接


标题正则表达式:

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)经典语录网语录抓取相关推荐

  1. Python爬虫入门【3】:美空网数据爬取

    美空网数据----简介 从今天开始,我们尝试用2篇博客的内容量,搞定一个网站叫做"美空网"网址为:http://www.moko.cc/, 这个网站我分析了一下,我们要爬取的图片在 ...

  2. Python爬虫编程思想(6):实战案例:抓取所有的网络资源

    Python爬虫编程思想(7):实战案例:抓取博客文章列表 到现在为止,我们已经对网络爬虫涉及到的基本知识有了一个初步的了解.本文会编写一个简单的爬虫应用,以便让读者对爬虫有一个基本的认识.本节要编写 ...

  3. 零基础入门python爬虫之《青春有你2》选手信息爬取

    零基础入门python爬虫之<青春有你2>选手信息爬取 完成<青春有你2>选手图片爬取,生成选手图片的绝对路径并输出,统计爬取的图片总数量.使用工具:requests模块.Be ...

  4. python爬虫数据提取_入门Python爬虫——提取数据篇

    原标题:入门Python爬虫--提取数据篇 作者: 李菲 来源:人工智能学习圈 前言 在提取数据这一环节,爬虫程序会将我们所需要的数据提取出来.在上一篇文章<入门Python爬虫 -- 解析数据 ...

  5. Python爬虫学习第三章-4.3-使用xpath解析爬取全国城市名称

    Python爬虫学习第三章-4.3-使用xpath解析爬取全国城市名称   这一节主要是使用xpath解析爬取全国城市名称 这里使用的网址是:空气质量历史数据查询   这一个案例体现的点主要是xpat ...

  6. python怎么读取pdf为文本_轻松用Python批量提取PDF文本内容,这个小技巧告诉你!...

    轻松用Python批量提取PDF文本内容,这个小技巧告诉你!-1.jpg (22.73 KB, 下载次数: 0) 2018-9-7 08:33 上传 本文为你展示,如何用Python把许多PDF文件的 ...

  7. 【爬虫+数据可视化毕业设计:英雄联盟数据爬取及可视化分析,python爬虫可视化/数据分析/大数据/大数据屏/数据挖掘/数据爬取,程序开发-哔哩哔哩】

    [爬虫+数据可视化毕业设计:英雄联盟数据爬取及可视化分析,python爬虫可视化/数据分析/大数据/大数据屏/数据挖掘/数据爬取,程序开发-哔哩哔哩] https://b23.tv/TIoy6hj

  8. 【【数据可视化毕业设计:差旅数据可视化分析,python爬虫可视化/数据分析/大数据/大数据屏/数据挖掘/数据爬取,程序开发-哔哩哔哩】-哔哩哔哩】 https://b23.tv/iTt30QG

    [[数据可视化毕业设计:差旅数据可视化分析,python爬虫可视化/数据分析/大数据/大数据屏/数据挖掘/数据爬取,程序开发-哔哩哔哩]-哔哩哔哩] https://b23.tv/iTt30QG ht ...

  9. Python爬虫编程思想(48):项目实战:抓取起点中文网的小说信息

    本文会利用requests库抓取起点中文网上的小说信息,并通过XPath提取相关的内容,最后将经过提取的内容保存到Excel文件中.本例需要使用第三方的xlwt库,该库用来通过Python操作Exce ...

  10. python爬虫提取人名_python爬虫—爬取英文名以及正则表达式的介绍

    python爬虫-爬取英文名以及正则表达式的介绍 爬取英文名: 一. 爬虫模块详细设计 (1)整体思路 对于本次爬取英文名数据的爬虫实现,我的思路是先将A-Z所有英文名的连接爬取出来,保存在一个csv ...

最新文章

  1. Alpha冲刺——day1
  2. ios 设置属性的center_ios center.x设置
  3. 【数据竞赛】99%情况下都有效的特征筛选策略--Null Importance。
  4. 【2010福建】收稻子 (校BSOJ1114)
  5. H264码流打包分析
  6. System memory,AGP memory和video memory
  7. 外媒:柔宇科技搁置赴美上市计划 考虑在中国进行IPO
  8. zookeeper之系列五:简单操作
  9. python变量赋值
  10. 腾讯云刘颖:与微信共建小程序开发者生态,让小程序开发更简单
  11. 认识与使用计算机 答案,计算机学习感悟—对计算机的认知和理解
  12. AIDL解析(一):AIDL原理解析
  13. 什么是软件项目管理中的WBS?
  14. 汇报工作的六大原则,不然怎么努力也白费
  15. Unity特效基础:粒子效果面板
  16. SQLmap-tamper详细介绍
  17. al11-添加SAP目录
  18. 原生开发什么意思_APP原生开发和混合开发的区别你了解多少
  19. 如何正确选择合适自己的英文学习方法和材料?
  20. MindOpt安装配置教程(Windows系统)

热门文章

  1. 软件测试的性能指标从哪获取,软件性能测试指标有哪些?做性能测试前注意事项...
  2. 有三个数abc 要求按大小顺序把它们输出_幼儿园中班数学教案按规律排序活动教学设计三篇【幼儿教师教案】...
  3. ios swift5 获取状态栏(电池栏)和导航栏高度
  4. Nvidia钱太多,买个IBM怎么样?
  5. 英语面试-询问问题篇
  6. 杰理之音频编码AUDIO_ENC【篇】
  7. mysql fulltext like_MySQL全文索引 FULLTEXT索引和like的区别
  8. CreateProcess()接收程序的输出
  9. 如何在浏览器中控制使用USB摄像头
  10. 《那些年啊,那些事——一个程序员的奋斗史》——62