python爬虫 起点月票榜TOP100
目的:学习正则表达式
过程中遇到的问题:
item[1]后面忘记写逗号,导致item[2]执行时语法错误;
RE中引用的字符串中有"|",被优先识别为“或”,导致抓取的数据存储时另外成为一个集合,用"."替代即可;
python中range函数的用法,range(1,6)={1,2,3,4,5}
具体程序如下:
#起点月票榜TOP100
import requests
import re
import jsondef request_qidian(url):try:response = requests.get(url)if response.status_code == 200:return response.textexcept requests.RequestException:return Nonedef parse_result(html):pattern = re.compile('<div class="book-img-box">.*?>(\d+)<.*?<h4><a href=.*?"qd_C40".*?>(.*?)</a></h4>.*?<p class="author">.*?target="_blank".*?>(.*?)</a><em>.</em><a href=.*?>(.*?)</a>.*?<p class="intro">\r *(.*?)\r.*?</li>',re.S)items = re.findall(pattern,html)for item in items:yield {'No.': item[0],'name' : item[1],'author' : item[2],'genre' : item[3],'intro' : item[4]}def write_item_to_file(item):print('开始写入数据 ====> ' + str(item))with open('bookrank.txt', 'a', encoding='UTF-8') as f:f.write(json.dumps(item, ensure_ascii=False) + '\n')f.close()def main(page):url = 'https://www.qidian.com/rank/yuepiao?page=' + str(page)html = request_qidian(url)items = parse_result(html) # 解析过滤我们想要的信息for item in items:write_item_to_file(item)if __name__ == "__main__":for i in range(1,6):main(i)
python爬虫 起点月票榜TOP100相关推荐
- python爬虫 - 起点女生榜单爬取 - 1
python爬虫 - 起点女生榜单爬取 最近一直在追庆余年,顺带瞄了一眼小说,真真是精彩(虽然因为范闲多妻的设定接受不了就放弃了). 说来说去,还是钟爱女频的修仙小说,所以就想爬一下起点女生网 ...
- Python爬虫—猫眼电影排行TOP100
学习Python爬虫也有段时间了,之前也看了许多大神的案例,自己也琢磨了爬取原理,由于是个人公号记录,就省去教科书式教学,纯属记录,由于爬取过程中一直着力于自身技能,所有代码均未作批注,以后文章中必须 ...
- Python爬虫实战 - 电影榜单Top250
(内容仅供技术探讨,切勿用于商业用途) 好久没有去电影院看电影了,新上映的电影因为版权原因看不了,老电影又不知道看什么,好难啊...不如我们看看榜单上都有啥好电影推荐吧,这次就对某瓣电影下手吧 一.开 ...
- 【python爬虫】猫眼电影TOP100电影封面下载
在上次爬取信息的基础上下载图片. 下载挺容易的 在封面命名上画了大笔时间..... import requests import bs4 from bs4 import BeautifulSoup i ...
- 微博数据爬虫——V影响力榜top100用户(一)
1.分析网页结构 网页链接如下:https://v6.bang.weibo.com/czv/domainlist?date=202103&period_type=month 可使用选择器提取b ...
- python爬虫-豆瓣喜剧电影评分top100的电影-小林月
数据展示: 排行榜向下滑动的时候发起一个请求 查看请求方法,网址,以及返回形式 直接利用requests模块上代码 import requests if __name__=="__main_ ...
- python 爬虫(起点)网络小说
1 先确定要爬取的小说是get 请求换是post 请求 1.1先在网站上打开一篇小说: 1.2 f12 进去开发者模式 1.3 切换到NetWork 发现有一个空白,可以点击左侧的小说内容 NetWo ...
- 【爬虫实战】Python 爬取起点热榜,再也不怕没有小说看了!
最近看完一部小说<大奉打更人>,看得我热血沸腾.但是看完后,有选择困难症的我又不知道可以看什么了. 于是,我打算开发一个爬虫,爬取起点热榜. 一.导入所需库 我们使用 requests 来 ...
- python爬虫获取起点中文网人气排行Top100(快速入门,新手必备!)
本篇博客小菌为大家带来的是用python爬虫获取起点中文网人气排行Top100的分享,希望大家能在学习的过程中感受爬虫的魅力! 我们先根据网址https://www.qidian.co ...
最新文章
- Gson转换 — json数据转换为Object实体公共方法
- 机器学习如何改变大数据管理
- 用Format创建格式化对象举例
- 有了 for (;;) 为什么还需要 while (true) ? 到底哪个更快?
- [物理学与PDEs]第2章第2节 粘性流体力学方程组 2.6 一维粘性热传导流体动力学方程组...
- 左神算法:二叉树的最大 / 最小深度(普通+Morris遍历进阶)(Java版)
- Python中sort()和sorted()的区别
- ElasticSearch的一些核心概念
- JQuery与springmvc实现多个文件上传操作
- 0021:孩子也是要将心比心的
- 区块链教程之以太坊开发连接主网和测试网
- 添加scoped后,某些css样式不起作用
- 个人大数据征信查询浅谈与撸待现象
- Calendar的用法
- 怎么用matlab做三维正方体,用Matlab三维网线图函数mesh绘制正方体
- synchronized的弊端
- apr各个版本工具包下载及安装教程
- 2018滴滴Web前端实习生面经
- DEEP GRAPH INFOMAX
- 外汇交易机会的选择,两点教您选择外汇交易机会