磕磕绊绊学python一个月,这次到正则表达式终于能写点有趣的东西,在此作个记录:

—————————————————————————————————————————————————

1.爬取豆瓣电影榜前250名单

运行环境:

pycharm-professional-2018.2.4

3.7.0 (v3.7.0:1bf9cc5093, Jun 27 2018, 04:59:51) [MSC v.1914 64 bit (AMD64)]

成品效果:

相关代码:

 1 from urllib.request import urlopen
 2 import re
 3 # import ssl  # 若有数字签名问题可用
 4 # ssl._create_default_https_context = ssl._create_unverified_context
 5
 6
 7 # 写正则规则
 8 obj = re.compile(r'<div class="item">.*?<span class="title">(?P<name>.*?)</span>.*?导演:(?P<daoyan>.*?)&nbsp;.*?'
 9                  r'主演:(?P<zhuyan>.*?)<br>\n                            (?P<shijian>.*?)&nbsp;/&nbsp;(?P<diqu>.*?)&nbsp;'
10                  r'/&nbsp;(?P<leixing>.*?)\n.*?<span class="rating_num" property="v:average">(?P<fen>.*?)</span>.*?<span>'
11                  r'(?P<renshu>.*?)评价</span>.*?<span class="inq">(?P<jianping>.*?)</span>',re.S)  # re.S 干掉换行
12
13 # 转码 获取内容
14 def getContent(url):
15     content = urlopen(url).read().decode("utf-8")
16     return content
17
18 # 匹配页面内容 返回一个迭代器
19 def parseContent(content):
20     iiter = obj.finditer(content)
21     for el in iiter:
22         yield {
23             "name":el.group("name"),
24             "daoyan":el.group("daoyan"),
25             "zhuyan":el.group("zhuyan"),
26             "shijian":el.group("shijian"),
27             "diqu":el.group("diqu"),
28             "leixing":el.group("leixing"),
29             "fen":el.group("fen"),
30             "renshu":el.group("renshu"),
31             "jianping":el.group("jianping")
32         }
33
34
35 for i in range(10):
36     url = "https://movie.douban.com/top250?start=%s&filter=" % (i*25)  # 循环页面10
37     print(url)
38     g = parseContent(getContent(url))  # 匹配获取的内容返回给g
39     f = open("douban_movie.txt",mode="a",encoding="utf-8")
40     for el in g:
41         f.write(str(el)+"\n")  # 写入到txt 注意加上换行
42
43     # f.write("==============================================")  # 测试分页
44     f.close()

2.爬取某站最新电影和下载地址

运行环境:

pycharm-professional-2018.2.4

3.7.0 (v3.7.0:1bf9cc5093, Jun 27 2018, 04:59:51) [MSC v.1914 64 bit (AMD64)]

成品效果:

相关代码:

 1 from urllib.request import urlopen
 2 import json
 3 import re
 4
 5 # 获取主页面内容
 6 url = "https://www.dytt8.net/"
 7 content = urlopen(url).read().decode("gbk")
 8 # print(content)
 9
10 # 正则
11 obj = re.compile(r'.*?最新电影下载</a>]<a href=\'(?P<url1>.*?)\'>', re.S)
12 obj1 = re.compile(r'.*?<div id="Zoom">.*?<br />◎片  名(?P<name>.*?)<br />.*?bgcolor="#fdfddf"><a href="(?P<download>.*?)">', re.S)
13
14
15 def get_content(content):
16     res = obj.finditer(content)
17     f = open('movie_dytt.json', mode='w', encoding='utf-8')
18     for el in res:
19         res = el.group("url1")
20         res = url + res  # 拼接子页面网址
21
22         content1 = urlopen(res).read().decode("gbk")  # 获取子页面内容
23         lst = obj1.findall(content1)  # 匹配obj1返回一个列表
24         # print(lst)  # 元组
25         name = lst[0][0]
26         download = lst[0][1]
27         s = json.dumps({"name":name,"download":download},ensure_ascii=False)
28         f.write(s+"\n")
29     f.flush()
30     f.close()
31
32
33 get_content(content)  # 调用函数 执行

转载于:https://www.cnblogs.com/xi1419/p/9985155.html

记一次简单爬虫(豆瓣/dytt)相关推荐

  1. Python基础的学习和简单爬虫的编写

    一.Python基础的学习 观看B站up GenJi是真的想教会你 的视频结合RUNOOB.COM进行学习 二.简单爬虫的编写 爬虫实现的功能: 爬取豆瓣电影top250的电影名称.电影信息.评分.评 ...

  2. python 百度百科 爬虫_python简单爬虫

    爬虫真是一件有意思的事儿啊,之前写过爬虫,用的是urllib2.BeautifulSoup实现简单爬虫,scrapy也有实现过.最近想更好的学习爬虫,那么就尽可能的做记录吧.这篇博客就我今天的一个学习 ...

  3. python编写爬虫代码_python编写简单爬虫资料汇总

    爬虫真是一件有意思的事儿啊,之前写过爬虫,用的是urllib2.BeautifulSoup实现简单爬虫,scrapy也有实现过.最近想更好的学习爬虫,那么就尽可能的做记录吧.这篇博客就我今天的一个学习 ...

  4. python3爬虫豆瓣_Python爬虫(3)豆瓣登录

    前面(1)(2)的内容已经足够爬虫如链家网之类的不需要登录可以直接获取数据的网站. 而要爬取社交网站比较鲜明的特点就是需要登录,否则很多东西都无法获取.经过测试发现,微博,知乎都不是很好登录,知乎有时 ...

  5. 爬虫-豆瓣书籍排行榜及用户信息-2021.7.23-使用Scrapy框架-用MongoDB存储数据

    1.环境 python3.8或python3.7 pycharm2021.2 MongoDB Scrapy 2.信息提取 2.1 创建Scrapy项目 在cmd模式下创建Scrapy项目 # 进入要存 ...

  6. Python爬虫豆瓣电影top250

      我的另一篇博客,Python爬虫豆瓣读书评分9分以上榜单   有了上次的基础,这次简单爬了下豆瓣上电影TOP250,链接豆瓣电影TOP250.   打开链接,查看网页源代码,查找我们需要的信息的字 ...

  7. 爬虫——豆瓣电影top250

    爬虫--豆瓣电影top250 无论是动态网页爬虫和静态网页爬虫,实现的思路基 本上都是获取页面 html.页面解析.数据保存或输出.虽然获取页面 html 以及数据保存都 已经封装为通用函数,但依然编 ...

  8. python秒懂百科视频,Python开发简单爬虫

    Python开发简单爬虫 源码网址:  http://download.csdn.NET/detail/hanchaobiao/9860671 一.爬虫的简介及爬虫技术价值 1.什么是爬虫: 一段自动 ...

  9. 记一次企业级爬虫系统升级改造(四):爬取微信公众号文章(通过搜狗与新榜等第三方平台)

    首先表示抱歉,年底大家都懂的,又涉及SupportYun系统V1.0上线.故而第四篇文章来的有点晚了些~~~对关注的朋友说声sorry! SupportYun系统当前一览: 首先说一下,文章的进度一直 ...

  10. 记一次企业级爬虫系统升级改造(四):爬取微信公众号文章(通过搜狗与新榜等第三方平台)...

    首先表示抱歉,年底大家都懂的,又涉及SupportYun系统V1.0上线.故而第四篇文章来的有点晚了些~~~对关注的朋友说声sorry! SupportYun系统当前一览: 首先说一下,文章的进度一直 ...

最新文章

  1. xgboost重要参数2为主但不全要参照1
  2. python tensorflow教程_TensorFlow入门教程TensorFlow 基本使用T
  3. 计算机原理及应用第三版pdf,计算机原理及运用.pdf
  4. 恢复快速启动中的“显示桌面”按钮
  5. 学的不是写代码,学的是编程思维!
  6. 树莓派3b安装ubuntu mate(在有显示器前提下看)
  7. 如果在Lightning Builder中在标准组件中没有看到Chatter 的情况
  8. 【无人机】欧盟发布无人机新规
  9. Gravatar - globally recognized avatar
  10. Qt使用paintevent事件绘制图像(可进行缩放且能够局部放大)
  11. intel 82599网卡系统下丢失一路万兆端口
  12. 今天遇到安装CAD2014提示已安装磁盘空间显示0字节,无法下一步,已解决.#CAD2014提示已安装磁盘空间显示0字节无法下一步
  13. Method of Four Russians 算法
  14. 微信撤回服务器有没有,无需任何软件, 告诉你如何查看微信撤回的图片!
  15. windows应用(vc++2022)MFC基础到实战(1)-基础(1)
  16. 运用特征脸方法的基于Opencv的猫脸检测实现
  17. 实验吧CTF练习题---WEB---猫抓老鼠解析
  18. Silvaco学习笔记(六)毕设相关
  19. 一篇文章彻底弄懂零拷贝底层原理
  20. STL——vector与迭代器

热门文章

  1. 本地图片转换Base64的方法,Base64码转换为本地图片
  2. 【云栖大会精华汇】2017杭州云栖大会主论坛、分论坛在内的100+视频分享
  3. asp.net调用51ditu
  4. python批量生成列表_Python编程实战:根据数据表格,快速批量生成符合规范的WORD文档...
  5. 嵌入式linux保存参数数据
  6. php 使用alert,php中alert函数的用法
  7. 计算机理论参考文献,计算机理论英文参考文献 计算机理论论文参考文献哪里找...
  8. MySQL根据idb文件恢复数据
  9. HDU1922 POJ3004 Subway planning “神题”留名
  10. 德州大学达拉斯分校计算机专业博士,德克萨斯大学达拉斯分校计算机科学理科硕士入学条件及实习就业...