python爬取百度文库

  • 1.Requests
  • 2.安装requests
  • 3.代码

本来马上做课设,做课设太烦了,所以只好偷工减料,但是想下载一个百度文库的文章,结果一看还要会员,这作为一个程序员怎么受得了。


这岂不是让一个本不富裕的家庭更加的雪上加霜。那我只能靠Python维持学习了!

1.Requests

Requests 是用Python语言编写,基于 urllib,采用 Apache2 Licensed 开源协议的 HTTP 库。它比 urllib 更加方便,可以节约我们大量的工作,完全满足 HTTP 测试需求。

2.安装requests

pip install xxxx -i https://pypi.douban.com/simple

或者参照教程

https://blog.csdn.net/qq_44176343/article/details/109362134

3.代码

"""
author:鹏鹏写代码"""
import requests
import re #正则表达式
import json
headers = {"User-Agent": "Mozilla/5.0 (Linux; Android 5.0; SM-G900P Build/LRX21T) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/66.0.3359.181 Mobile Safari/537.36"
}def get_num(url):response = requests.get(url, headers=headers).textresult = re.search(r'&md5sum=(.*)&sign=(.*)&rtcs_flag=(.*)&rtcs_ver=(.*?)".*rsign":"(.*?)",', response, re.M | re.I)  # 寻找参数reader = {"md5sum": result.group(1),"sign": result.group(2),"rtcs_flag": result.group(3),"rtcs_ver": result.group(4),"width": 176,"type": "org","rsign": result.group(5)}result_page = re.findall(r'merge":"(.*?)".*?"page":(.*?)}', response)  # 获取每页的标签doc_url = "https://wkretype.bdimg.com/retype/merge/" + url[29:-5]  # 网页的前缀n = 0for i in range(len(result_page)):  # 最大同时一次爬取10页if i % 10 is 0:doc_range = '_'.join([k for k, v in result_page[n:i]])reader['pn'] = n + 1reader['rn'] = 10reader['callback'] = 'sf_edu_wenku_retype_doc_jsonp_%s_10' % (reader.get('pn'))reader['range'] = doc_rangen = iget_page(doc_url, reader)else:  # 剩余不足10页doc_range = '_'.join([k for k, v in result_page[n:i + 1]])reader['pn'] = n + 1reader['rn'] = i - n + 1reader['callback'] = 'sf_edu_wenku_retype_doc_jsonp_%s_%s' % (reader.get('pn'), reader.get('rn'))reader['range'] = doc_rangeget_page(doc_url, reader)def get_page(url, data):response = requests.get(url, headers=headers, params=data).textresponse = response.encode('utf-8').decode('unicode_escape')  # unciode转为utf-8 然后转为中文response = re.sub(r',"no_blank":true', '', response)  # 清洗数据result = re.findall(r'c":"(.*?)"}', response)  # 寻找文本匹配result = '\n'.join(result)print(result)if __name__ == '__main__':url = "http://wenku.baidu.com/view/f732a599db38376baf1ffc4ffe4733687e21fcf9"get_num(url)

运行结果展示:

接下来做课设岂不是有手就行了,一般就是组合键完成课设了呗!

Python利用requests库爬取百度文库文章相关推荐

  1. python使用requests库爬取淘宝指定商品信息

    python使用requests库爬取淘宝指定商品信息 在搜索栏中输入商品 通过F12开发者工具抓包我们知道了商品信息的API,同时发现了商品数据都以json字符串的形式存储在返回的html内 解析u ...

  2. 使用python中的Selenium爬取百度文库word文章

    参考文章:Python3网络爬虫(九):使用Selenium爬取百度文库word文章,链接为: https://blog.csdn.net/c406495762/article/details/723 ...

  3. python生成QQ机器人爬取百度文库链接推送好友并生成词云

    QQ机器人爬取百度文库链接推送好友并生成词云 一.环境准备 二.实现QQ机器人 1.QQ机器人介绍 2.安装方法 3.实现自己的QQ机器人 三.百度文库内容链接爬取推送好友 代码实现: 思路分析 1. ...

  4. 利用requests库爬取搜狗图片并存入文件夹下

    看了一篇帖子,https://www.cnblogs.com/dearvee/p/6558571.html 这篇帖子作为一个引导,摸索着完成了第一个爬虫,现在将过程总结如下. 搜狗图片地址为 http ...

  5. python之利用requests库爬取西刺代理,并检验IP的活性

    用爬虫爬取某个网站的数据时,如果用一个IP频繁的向该网站请求大量数据,那么你的ip就可能会被该网站拉入黑名单,导致你不能访问该网站,这个时候就需要用到IP动态代理,即让爬虫爬取一定数据后更换IP来继续 ...

  6. 【Python成长之路】Python爬虫 --requests库爬取网站乱码(\xe4\xb8\xb0\xe5\xa)的解决方法【华为云分享】

    [写在前面] 在用requests库对自己的CSDN个人博客(https://blog.csdn.net/yuzipeng)进行爬取时,发现乱码报错(\xe4\xb8\xb0\xe5\xaf\x8c\ ...

  7. 【Python成长之路】Python爬虫 --requests库爬取网站乱码(\xe4\xb8\xb0\xe5\xaf\x8c\xe7\x9)的解决方法

    [写在前面] 在用requests库对自己的CSDN个人博客(https://blog.csdn.net/yuzipeng)进行爬取时,发现乱码报错(\xe4\xb8\xb0\xe5\xaf\x8c\ ...

  8. 使用Python的requests库爬取网页表情包

    一.目标网站 喜羊羊QQ表情,可爱的懒羊羊搞笑图片 二.开发思路 安装项目所需环境 导入所需的类库 定义一个函数用来获取图片 a. 获取网页源代码 b. 获取源代码中所有的图片 c. 筛选出目标图片 ...

  9. 使用python的requests库爬取微信公众号文章中的图片

    1.首先导入我们需要的库: import requests from lxml import etree import os 以某篇文章为例,复制该文章连接: 2.使用requests库获取该网址的响 ...

  10. python 利用requests库抓取网站图片

    截图放在下方: 我们来看下我们要的图片都在哪 框起来这些图就是我要的,数量多的不得了,看来这个网站积累了很久了,现在我们要用5分钟时间来拿到所有图片 接下来让我们看下源代码来解析一下这些图片的地址吧. ...

最新文章

  1. 新年新气象,用新年的喜庆来迎接的生活
  2. VS2013 编译程序时提示 无法查找或打开 PDB 文件
  3. Day 1: Bower —— 管理你的客户端依赖关系
  4. OSChina 周三乱弹 ——相亲妹子说了一句让我肾疼的话
  5. java HashMap实现中文分词器 应用:敏感词过滤实现
  6. 物联网、车联网、工业互联网大数据平台,为什么推荐使用TDengine?
  7. datagridview列 值提取_Excel学校如何提取教职工员工名单-Leo老师
  8. [CTSC2017]吉夫特(Lucas定理,DP)
  9. Idea创建包以及导入jar包等操作
  10. drf 安装_drf 安装与配置
  11. 电脑屏幕卡住了按什么都没反应_刚买2个月,联想电脑屏幕出现坏点,售后回复:坏点不够3个不能保修...
  12. mysql 字段操作
  13. ODBC访问数据库(转载)
  14. python创建图形界面_Python入门四:创建第一个图形界面-Go语言中文社区
  15. js手机号批量滚动抽奖代码实现
  16. Microsoft Excel 教程:如何在 Excel 中自动填充数据?
  17. Django~1 一 什么是web框架?
  18. 「R shiny基础」使用shinyapp分享你的Shiny应用
  19. java emoji表情_java处理emoji表情的方法
  20. 硼碳氮纳米管的制备(碳纳米管包裹磁性金属复合纳米结构/多孔氧化物掺杂的碳纳米管包裹的碳纳米球/碳氮纳米管包裹纳米金属粒子/碳纳米管包裹Ni纳米线复合材料)

热门文章

  1. windows存储空间清理,C盘空间清理教程,磁盘清理方法
  2. 【Dart语言第5篇】运算符
  3. rxbus 源码_RxBus学习
  4. 有效利用PLM系统能为企业带来什么?
  5. mbedtls基础及其应用
  6. 小米游戏本0909bios_小米笔记本电脑全家族介绍
  7. MessageDigest实现MD5加密算法
  8. 将CS5463存放的数据转换成float类型
  9. chrome浏览器 自带网页截取长图功能
  10. Sketchup创建光滑曲面