python可以抓取PDF文件的数据吗,python爬取pdf指定内容

  python可以抓取PDF文件的数据吗,python爬取pdf指定内容

  本文流程(爬虫基本思路):1。数据源分析(只有找到数据源才能用代码实现)确定需求(要抓取的内容是什么?)

  爬文章内容,保存pdf,抓取包,通过开发者工具分析。数据是从哪里来的?Python从零基础入门到实战系统教程,源码,视频,想要数据集的同学也可以点这里。2.代码实现过程发送请求获取文章列表页面发送请求获取数据获取网页源代码分析数据的url和文章标题发送请求获取文章详情页面的url地址发送请求获取数据获取网页源代码分析数据提取文章标题/内容保存数据将文章内容保存为html文件并将html文件转换为pdf文件。多页搜索导入模块导入请求#数据请求发送请求第三方模块pip安装请求

  导入parsel #数据分析模块第三方模块pip安装parsel

  导入os #文件操作模块

  导入#正则表达式模块

  Importkit # pip安装pdf包创建文件夹filename=pdf\\ # filename

  filename_1=html\\

  如果OS.path.exists (filename): #如果没有这样的文件夹

  Os.mkdir(文件名)#自动创建此文件夹。

  如果OS.path.exists (filename _ 1): #如果没有这样的文件夹

  Os.mkdir(filename_1) #自动创建此文件夹并发送对范围(1,11)中的页面的请求:

  print(f ==============正在抓取第{page}页的数据内容=================)

  url=f https://blog博客。***. net/qdPython/article/list/{ page }

  # python代码是在服务器发送请求,服务器接收到请求后才被识别的(如果没有伪装的话)。它是一个爬虫,不会向你返回数据。

  #客户端(浏览器)向服务器发送请求。服务器收到请求后,浏览器返回一个响应响应数据。

  # headers请求头是把python代码伪装成浏览器发出请求。

  # headers参数字段可以在开发者工具中查询和复制。

  #并非所有参数字段都是必需的

  #用户-代理:浏览器的基本信息(相当于披着羊皮的狼,这样才能融入羊群)

  # cookie:用户信息检测是否登录账号(部分网站需要登录才能看到数据,哔哩哔哩部分数据内容)

  # referer:防盗链从哪里请求你的网址跳转的(哔哩哔哩视频内容/妹子图片下载/唯品会产品资料)

  #根据不同网站内容的具体情况来分析。

  标题={

  用户代理: Mozilla/5.0(Windows NT 10.0;Win64x64) AppleWebKit/537.36 (KHTML,像壁虎一样)Chrome/92 . 0 . 4515 . 159 Safari/537.36

  }

  #请求方法:get Request post Request可以通过开发者工具检查url请求方法。

  #搜索/登录/查询这是一个发布请求

  Response=requests.get (URL=URL,headers=headers)数据解析#获取的html字符串数据需要转换成选择器解析对象。

  选择器=parsel。选择器(响应.文本)

  # getall返回一个列表。

  Href=selector.css(。文章列表a: attr (href))。getall()如果列表中的每个元素都被提取用于href中的索引:

  #发送请求,获取文章详细信息页面的url地址。

  response _ 1=requests . get(URL=index,headers=headers)

  selector_1=parsel。选择器(响应_1 .文本)

  title=selector _ 1 . CSS( # article contentid:text )。获取()

  新标题=更改标题(标题)

  content _ views=selector _ 1 . CSS( # content _ views )。获取()

  html _ content=html _ str . format(article=content _ views)

   html_path=filename_1 new_title 。 html

   pdf_path=filename new_title 。 pdf

  用open(html_path,mode=w ,encoding=utf-8 )作为f:

  f.write(html_content)

  Print (saving:,title)替换特殊字符def change_title(name):

  mode=re.compile(r[\\\/\:\*\?\ \ \])

  new_name=re.sub(模式, _ ,名称)

  Return _ name运行代码下载HTML文件

  导入PDF文件config=PDF kit . configuration(wkhtmltopdf=r c:\ program files \ wkhtmltopdf \ bin \ wkhtmltopdf . exe )

  pdfkit.from_file(html_path,pdf_path,configuration=config)

  原创作品来自爱吃饼干的博主松鼠,

郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

留言与评论(共有 条评论)
   
验证码: