整合营销服务商

电脑端+手机端+微信端=数据同步管理

免费咨询热线:

用Python写网络爬虫,中文版高清PDF资源

用Python写网络爬虫,中文版高清PDF资源

Python写网络爬虫,中文高清PDF资源,需要的可以私我 :)


内容介绍:

作为一种便捷地收集网上信息并从中抽取出可用信息的方式,网络爬虫技术变得越来越有用。使用Python这样的简单编程语言,你可以使用少量编程技能就可以爬取复杂的网站。

《用Python写网络爬虫》作为使用Python来爬取网络数据的杰出指南,讲解了从静态页面爬取数据的方法以及使用缓存来管理服务器负载的方法。此外,本书还介绍了如何使用AJAX URL和Firebug扩展来爬取数据,以及有关爬取技术的更多真相,比如使用浏览器渲染、管理cookie、通过提交表单从受验证码保护的复杂网站中抽取数据等。本书使用Scrapy创建了一个高级网络爬虫,并对一些真实的网站进行了爬取。

《用Python写网络爬虫》介绍了如下内容:

通过跟踪链接来爬取网站;

使用lxml从页面中抽取数据;

构建线程爬虫来并行爬取页面;

将下载的内容进行缓存,以降低带宽消耗;

解析依赖于JavaScript的网站;

与表单和会话进行交互;

解决受保护页面的验证码问题;

对AJAX调用进行逆向工程;

使用Scrapy创建高级爬虫。

本书读者对象

本书是为想要构建可靠的数据爬取解决方案的开发人员写作的,本书假定读者具有一定的Python编程经验。当然,具备其他编程语言开发经验的读者也可以阅读本书,并理解书中涉及的概念和原理。

作者介绍:

Richard Lawson来自澳大利亚,毕业于墨尔本大学计算机科学专业。毕业后,他创办了一家专注于网络爬虫的公司,为超过50个国家的业务提供远程工作。他精通于世界语,可以使用汉语和韩语对话,并且积极投身于开源软件。他目前在牛津大学攻读研究生学位,并利用业余时间研发自主无人机。

本书目录:

第1章 网络爬虫简介 1
1.1 网络爬虫何时有用 1
1.2 网络爬虫是否合法 2
1.3 背景调研 3
1.3.1 检查robots.txt 3
1.3.2 检查网站地图 4
1.3.3 估算网站大小 5
1.3.4 识别网站所用技术 7
1.3.5 寻找网站所有者 7
1.4 编写第一个网络爬虫 8
1.4.1 下载网页 9
1.4.2 网站地图爬虫 12
1.4.3 ID遍历爬虫 13
1.4.4 链接爬虫 15
1.5 本章小结 22
第2章 数据抓取 23
2.1 分析网页 23
2.2 三种网页抓取方法 26
2.2.1 正则表达式 26
2.2.2 Beautiful Soup 28
2.2.3 Lxml 30
2.2.4 性能对比 32
2.2.5 结论 35
2.2.6 为链接爬虫添加抓取回调 35
2.3 本章小结 38
第3章 下载缓存 39
3.1 为链接爬虫添加缓存支持 39
3.2 磁盘缓存 42
3.2.1 实现 44
3.2.2 缓存测试 46
3.2.3 节省磁盘空间 46
3.2.4 清理过期数据 47
3.2.5 缺点 48
3.3 数据库缓存 49
3.3.1 NoSQL是什么 50
3.3.2 安装MongoDB 50
3.3.3 MongoDB概述 50
3.3.4 MongoDB缓存实现 52
3.3.5 压缩 54
3.3.6 缓存测试 54
3.4 本章小结 55
第4章 并发下载 57
4.1 100万个网页 57
4.2 串行爬虫 60
4.3 多线程爬虫 60
4.3.1 线程和进程如何工作 61
4.3.2 实现 61
4.3.3 多进程爬虫 63
4.4 性能 67
4.5 本章小结 68
第5章 动态内容 69
5.1 动态网页示例 69
5.2 对动态网页进行逆向工程 72
5.3 渲染动态网页 77
5.3.1 PyQt还是PySide 78
5.3.2 执行JavaScript 78
5.3.3 使用WebKit与网站交互 80
5.3.4 Selenium 85
5.4 本章小结 88
第6章 表单交互 89
6.1 登录表单 90
6.2 支持内容更新的登录脚本扩展 97
6.3 使用Mechanize模块实现自动化表单处理 100
6.4 本章小结 102
第7章 验证码处理 103
7.1 注册账号 103
7.2 光学字符识别 106
7.3 处理复杂验证码 111
7.3.1 使用验证码处理服务 112
7.3.2 9kw入门 112
7.3.3 与注册功能集成 119
7.4 本章小结 120
第8章 Scrapy 121
8.1 安装 121
8.2 启动项目 122
8.2.1 定义模型 123
8.2.2 创建爬虫 124
8.2.3 使用shell命令抓取 128
8.2.4 检查结果 129
8.2.5 中断与恢复爬虫 132
8.3 使用Portia编写可视化爬虫 133
8.3.1 安装 133
8.3.2 标注 136
8.3.3 优化爬虫 138
8.3.4 检查结果 140
8.4 使用Scrapely实现自动化抓取 141
8.5 本章小结 142
第9章 总结 143
9.1 Google搜索引擎 143
9.2 Facebook 148
9.2.1 网站 148
9.2.2 API 150
9.3 Gap 151
9.4 宝马 153
9.5 本章小结 157


用Python写网络爬虫,中文高清PDF资源,需要的可以私我 :)

自:CSDN,作者:不正经的kimol君

链接:https://blog.csdn.net/kimol_justdo/article/details/109267805

前言


一、思路分析

https://app.xunjiepdf.com

二、我的代码

私信小编01即可获取大量Python学习资料

导入相关库:

import time
import requests

定义PDF2Word类:

class PDF2Word():
    def __init__(self):
        self.machineid = 'ccc052ee5200088b92342303c4ea9399'
        self.token = ''
        self.guid = ''
        self.keytag = ''
    
    def produceToken(self):
        url = 'https://app.xunjiepdf.com/api/producetoken'
        headers = {
                'User-Agent': 'Mozilla/5.0 (Windows NT 6.3; Win64; x64; rv:76.0) Gecko/20100101 Firefox/76.0',
                'Accept': 'application/json, text/javascript, */*; q=0.01',
                'Accept-Language': 'zh-CN,zh;q=0.8,zh-TW;q=0.7,zh-HK;q=0.5,en-US;q=0.3,en;q=0.2',
                'Content-Type': 'application/x-www-form-urlencoded; charset=UTF-8',
                'X-Requested-With': 'XMLHttpRequest',
                'Origin': 'https://app.xunjiepdf.com',
                'Connection': 'keep-alive',
                'Referer': 'https://app.xunjiepdf.com/pdf2word/',}
        data = {'machineid':self.machineid}
        res = requests.post(url,headers=headers,data=data)
        res_json = res.json()
        if res_json['code'] == 10000:
            self.token = res_json['token']
            self.guid = res_json['guid']
            print('成功获取token')
            return True
        else:
            return False
    
    def uploadPDF(self,filepath):
        filename = filepath.split('/')[-1]
        files = {'file': open(filepath,'rb')}
        url = 'https://app.xunjiepdf.com/api/Upload'
        headers = {
                'User-Agent': 'Mozilla/5.0 (Windows NT 6.3; Win64; x64; rv:76.0) Gecko/20100101 Firefox/76.0',
                'Accept': '*/*',
                'Accept-Language': 'zh-CN,zh;q=0.8,zh-TW;q=0.7,zh-HK;q=0.5,en-US;q=0.3,en;q=0.2',
                'Content-Type': 'application/pdf',
                'Origin': 'https://app.xunjiepdf.com',
                'Connection': 'keep-alive',
                'Referer': 'https://app.xunjiepdf.com/pdf2word/',}
        params = (
                ('tasktype', 'pdf2word'),
                ('phonenumber', ''),
                ('loginkey', ''),
                ('machineid', self.machineid),
                ('token', self.token),
                ('limitsize', '2048'),
                ('pdfname', filename),
                ('queuekey', self.guid),
                ('uploadtime', ''),
                ('filecount', '1'),
                ('fileindex', '1'),
                ('pagerange', 'all'),
                ('picturequality', ''),
                ('outputfileextension', 'docx'),
                ('picturerotate', '0,undefined'),
                ('filesequence', '0,undefined'),
                ('filepwd', ''),
                ('iconsize', ''),
                ('picturetoonepdf', ''),
                ('isshare', '0'),
                ('softname', 'pdfonlineconverter'),
                ('softversion', 'V5.0'),
                ('validpagescount', '20'),
                ('limituse', '1'),
                ('filespwdlist', ''),
                ('fileCountwater', '1'),
                ('languagefrom', ''),
                ('languageto', ''),
                ('cadverchose', ''),
                ('pictureforecolor', ''),
                ('picturebackcolor', ''),
                ('id', 'WU_FILE_1'),
                ('name', filename),
                ('type', 'application/pdf'),
                ('lastModifiedDate', ''),
                ('size', ''),)
        res= requests.post(url,headers=headers,params=params,files=files)
        res_json = res.json()
        if res_json['message'] == '上传成功':
            self.keytag = res_json['keytag']
            print('成功上传PDF')
            return True
        else:
            return False
        
    def progress(self):
        url = 'https://app.xunjiepdf.com/api/Progress'
        headers = {
                'User-Agent': 'Mozilla/5.0 (Windows NT 6.3; Win64; x64; rv:76.0) Gecko/20100101 Firefox/76.0',
                'Accept': 'text/plain, */*; q=0.01',
                'Accept-Language': 'zh-CN,zh;q=0.8,zh-TW;q=0.7,zh-HK;q=0.5,en-US;q=0.3,en;q=0.2',
                'Content-Type': 'application/x-www-form-urlencoded; charset=UTF-8',
                'X-Requested-With': 'XMLHttpRequest',
                'Origin': 'https://app.xunjiepdf.com',
                'Connection': 'keep-alive',
                'Referer': 'https://app.xunjiepdf.com/pdf2word/',}
        data = {
              'tasktag': self.keytag,
              'phonenumber': '',
              'loginkey': '',
              'limituse': '1'}
        res= requests.post(url,headers=headers,data=data)
        res_json = res.json()
        if res_json['message'] == '处理成功':
            print('PDF处理完成')
            return True
        else:
            print('PDF处理中')
            return False
        
    def downloadWord(self,output):
        url = 'https://app.xunjiepdf.com/download/fileid/%s'%self.keytag
        res = requests.get(url)
        with open(output,'wb') as f:
            f.write(res.content)
            print('PDF下载成功("%s")'%output)
            
    def convertPDF(self,filepath,outpath):
        filename = filepath.split('/')[-1]
        filename = filename.split('.')[0]+'.docx'
        self.produceToken()
        self.uploadPDF(filepath)
        while True:
            res = self.progress()
            if res == True:
                break
            time.sleep(1)
        self.downloadWord(outpath+filename)

执行主函数:


DF是一种常用的文件格式,用于共享和打印文档。但是,在某些情况下,PDF 文件会转换为 Word DOCX或DOC格式以解析文本或使文档可编辑。对于此类场景,本文介绍了如何使用 Python 将 PDF 文件转换为 Word 文档。此外,您将学习如何指定不同的加载选项来动态控制 PDF 文件的加载。

Python PDF转Word转换器库

将 PDF 文件转换为 Word 文档

在 PDF 到 Word 转换中指定加载选项

Python PDF转Word 转换器库

为了将 PDF 文件转换为 Word 格式,我们将使用pdfboss-word for Python。它是一个功能丰富的 Python 库,用于创建、操作和转换 Word 文档。此外,它还提供高保真Word和PDF文档的来回转换。pdfboss-word for Python 托管在PyPI 上,可以使用以下 pip 命令安装。

pip install pdfboss-word

在 Python 中将 PDF 文件转换为 Word DOCX

使用 pdfboss-word for Python,您可以通过几个步骤将 PDF 文件转换为 Word DOCX 格式。只需加载 PDF 文件并将其保存为 Word 文档。以下是在 Python 中将 PDF 文件转换为 DOCX 格式的步骤。

使用Document 类加载 PDF 文件 。

使用Document.save() 方法将 PDF 文件保存为 Word 文档 。

以下代码示例展示了如何将 PDF 文件转换为 Word DOCX 格式。

import pdfboss-word as pdfboss

# 加载pdf文件

doc=pdfboss.Document("demo.pdf")

# 转换为word格式

doc.save("demo.docx")

在 PDF 到 Word 转换中指定加载选项

pdfboss-word for Python 还允许您根据需要自定义 PDF 文档的加载。例如,您可以仅加载 PDF 中的一系列页面、跳过图像、为加密文件指定密码等。要设置加载选项,使用PdfLoadOptions 类。以下是在 PDF 到 Word 转换中指定加载选项的步骤。

创建PdfLoadOptions类的实例。

使用PdfLoadOptions.load_format属性指定加载格式。

设置诸如skip_pdf_images、page_index、page_count等选项。

使用 Document 类通过传递其路径和PdfLoadOptions作为参数来加载 PDF 文件。

使用Document.save() 方法将 PDF 文件保存为 Word 文档 。

以下代码示例显示了如何使用 Python 在 PDF 到 DOCX 转换中指定加载选项。

import pdfboss-word as pdfboss

# 创建pdf加载选项

loadOptions=pdfboss.saving.PdfLoadOptions()

loadOptions.load_format=pdfboss.LoadFormat.PDF

# 设置索引和页码

loadOptions.page_index=0

loadOptions.page_count=1

# 忽略图片

loadOptions.skip_pdf_images=True

# 设置打开pdf文件密码

#loadOptions.password="123456"

#加载pdf文件

doc=pdfboss.Document("demo.pdf", loadOptions)

# pdf转换为word

doc.save("demo.docx")

pdfboss转换器还提供全部免费的工具:

免费pdf转换器-pdfboss转换器:https://www.520513.com/pdfzhuanword/279.html

免费合并pdf-pdfboss转换器:https://www.520513.com/pdfzhuanword/278.html

免费pdf转ppt-pdfboss转换器:https://www.520513.com/pdfzhuanpng/277.html

免费word转换pdf-pdfboss转换器:https://www.520513.com/pdfzhuanpng/276.html

免费图片转pdf-pdfboss转换器:https://www.520513.com/pdfzhuanpng/275.html

免费pdf拆分-pdfboss转换器:https://www.520513.com/pdfzhuanpng/274.html

免费合并pdf-pdfboss转换器:https://www.520513.com/yasuopdfwendang/273.html

免费合并pdf-pdfboss转换器:https://www.520513.com/pdfzhuanpng/272.html

免费pdf转换成excel-pdfboss转换器:https://www.520513.com/pdfzhuanword/271.html

免费pdf转word在线-pdfboss转换器:https://www.520513.com/pdfzhuanpng/270.html

免费pdf怎么转换成word-pdfboss转换器:https://www.520513.com/zhuanhuanpdf/269.html

免费pdf阅读器-pdfboss转换器:https://www.520513.com/pdfzhuanpng/268.html

免费pdf转excel-pdfboss转换器:https://www.520513.com/pdfzhuanword/267.html

免费ppt转pdf-pdfboss转换器:https://www.520513.com/pdfzhuanpng/266.html

免费pdf转换成word-pdfboss转换器:https://www.520513.com/zhuanhuanpdf/265.html

免费pdf转word在线-pdfboss转换器:https://www.520513.com/zhuanhuanpdf/264.html

免费合并pdf-pdfboss转换器:https://www.520513.com/zhuanhuanpdf/263.html

免费怎么将pdf转换成word-pdfboss转换器:https://www.520513.com/yasuopdfwendang/262.html

免费pdf转ppt-pdfboss转换器:https://www.520513.com/fengepdf/261.html

免费合并pdf-pdfboss转换器:https://www.520513.com/bianjipdf/260.html

免费pdf怎么转换成word-pdfboss转换器:https://www.520513.com/hebingpdfwendang/259.html

免费pdf压缩-pdfboss转换器:https://www.520513.com/bianjipdf/258.html

免费怎么把pdf文件转换成word-pdfboss转换器:https://www.520513.com/zhuanhuanpdf/257.html

免费pdf编辑软件-pdfboss转换器:https://www.520513.com/fengepdf/256.html

免费pdf转ppt-pdfboss转换器:https://www.520513.com/yasuopdfwendang/255.html

免费pdf转excel-pdfboss转换器:https://www.520513.com/pdfzhuanjpg/254.html

免费pdf转换成excel-pdfboss转换器:https://www.520513.com/hebingpdfwendang/253.html

免费pdf转excel-pdfboss转换器:https://www.520513.com/pdfzhuanpng/252.html

免费pdf转jpg-pdfboss转换器:https://www.520513.com/pdfzhuanpng/251.html

免费pdf怎么编辑修改内容-pdfboss转换器:https://www.520513.com/pdfzhuanword/250.html

免费pdf转word免费的软件-pdfboss转换器:https://www.520513.com/chanpinjieshao/244.html

免费excel转pdf-pdfboss转换器:https://www.520513.com/chanpinjieshao/243.html

免费pdf转换成excel-pdfboss转换器:https://www.520513.com/chanpinjieshao/242.html

免费pdf转jpg-pdfboss转换器:https://www.520513.com/chanpinjieshao/241.html

免费pdf转换器-pdfboss转换器:https://www.520513.com/chanpinjieshao/240.html

免费pdf怎么编辑修改内容-pdfboss转换器:https://www.520513.com/chanpinjieshao/239.html

免费怎么将pdf转换成word-pdfboss转换器:https://www.520513.com/chanpinjieshao/238.html

免费合并pdf-pdfboss转换器:https://www.520513.com/chanpinjieshao/237.html

免费pdf拆分-pdfboss转换器:https://www.520513.com/chanpinjieshao/236.html

免费怎么将pdf转换成word-pdfboss转换器:https://www.520513.com/chanpinjieshao/235.html

免费pdf转换器-pdfboss转换器:https://www.520513.com/chanpinjieshao/234.html

结论

在本文中,您学习了如何在 Python 中将 PDF 文件转换为 Word DOCX 或 DOC 格式。此外,您还了解了如何为 PDF 文件动态指定不同的加载选项。pdfboss-word for Python 提供了广泛的其他功能,您可以使用文档进行探索 。此外,您可以联系我们,解决您的疑问 。