当前位置: 首页 > news >正文

学校网站建设方案模板wordpress 注册功能

学校网站建设方案模板,wordpress 注册功能,wordpress ftp上传插件,怎么在百度上做推广背景 最近#xff0c;在爬取关于国内985大学的学报时#xff0c;我注意到大部分大学学报站点格式都采用相似的形式#xff0c;并且PDF链接都使用自增的ID。然而#xff0c;我也发现了一个问题#xff0c;即大多数PDF链接的ID并不是连续的。现在我将向你分享一些方法…背景 最近在爬取关于国内985大学的学报时我注意到大部分大学学报站点格式都采用相似的形式并且PDF链接都使用自增的ID。然而我也发现了一个问题即大多数PDF链接的ID并不是连续的。现在我将向你分享一些方法以快速获取所有的大学学报PDF链接。 首先通过最新期刊和最旧的期刊查找pdf链接的id范围 最新期刊为 2023-03-20 最旧期刊为 2013-01-30 点击进去后下载pdf后在开发者工具可以发现链接上的id最大在1000左右最小的id在个位数。 当我们请求不存在的id会发现response.headers.get(‘Content-Type’)为html类型而正确的id响应类型则为application/x-download。 response session.get(fhttp://journal.pku.edu.cn/CN/article/downloadArticleFile.do?attachTypePDFid105, #id为105不正确的idcookiescookies,headersheaders,verifyFalse)print(response.headers.get(Content-Type) )输出 text/html;charsetUTF-8 response session.get(fhttp://journal.pku.edu.cn/CN/article/downloadArticleFile.do?attachTypePDFid1,cookiescookies,headersheaders, streamTrue, verifyFalse) print(response.headers.get(Content-Type) )输出 application/x-download 如果使用head请求虽然可以快速获取所有响应类型而无需请求响应体。但这里如果你发现使用requests.head方法返回的headers和使用requests.get方法返回的headers不一致那可能是由于服务器对不同类型请求返回的header信息不同导致的。 我们可以通过覆盖爬取获取每个刊期不同链接上的id但需要写一堆xpath或正则所有这里不使用这个方法。 快速爬取pdf链接 我们可以使用request的streamTrue方法快速请求url获取pdf链接 在requests库中stream参数用于控制响应是否以流的方式进行处理。默认情况下stream参数的值为False表示禁用流式处理整个响应内容会一次性加载到内存中。 当stream参数设置为True时表示启用流式处理响应内容会以流的形式逐步传输而不是一次性加载到内存中。这在处理大型响应体或需要逐步处理数据的情况下很有用。 当stream为True时可以使用close方法关闭请求就不需要进行请求响应体可以节省更多资源和时间去请求其他url 完整代码 import requests,time from requests.adapters import HTTPAdapter, Retry import threadingurl_id [] def get_response(id):cookies {JSESSIONID: 1EEC758D35D23CE4721E1419871575C6,}headers {Accept: text/html,application/xhtmlxml,application/xml;q0.9,image/avif,image/webp,image/apng,*/*;q0.8,application/signed-exchange;vb3;q0.7,Accept-Language: zh-CN,zh;q0.9,ja;q0.8,Connection: keep-alive,Range: bytes0-0.1 ,# Cookie: JSESSIONID1EEC758D35D23CE4721E1419871575C6,Referer: http://journal.pku.edu.cn/CN/abstract/abstract1015.shtml,Upgrade-Insecure-Requests: 1,User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/112.0.0.0 Safari/537.36,}session requests.Session()retries Retry(total3, backoff_factor0.5, status_forcelist[500, 502, 503, 504])session.mount(http://, HTTPAdapter(max_retriesretries))response session.get(fhttp://journal.pku.edu.cn/CN/article/downloadArticleFile.do?attachTypePDFid{id},cookiescookies,headersheaders,streamTrue, verifyFalse)if response.headers.get(Content-Type) application/x-download:response.closeurl_id.append(id)else:print(无效id-------,id,response.headers.get(Content-Type))return response.headers.get(Content-Type) threads [] for i in range(2000):thread threading.Thread(targetget_response, args(i,))thread.start()threads.append(thread)for td in threads:td.join()输出 通过输出可以发现id不是连续的并且代码运行耗时1分半钟速度也比直接get请求不使用streamTrue快出几十倍。 通过请求上述代码中的url_id 列表里的有效id我们就可以直接下载pdf了。这个站点pdf数据不多但国内大学站点大部分都可以采用这种形式爬取。
http://www.sadfv.cn/news/242266/

相关文章:

  • 怎么看网站备案官方网站做兼职
  • 重庆网站建设公佛山公共交易资源平台
  • 关于网站备案及管理的授权书山东住房和城乡建设部网站
  • 做网站怎么报价花都营销型网站
  • 二学一做网站怎么做 代刷网站
  • 旅游网站在提高用户体验方面应做哪些工作江门做网站公司开网络公司
  • 高港网站开发制作一个官网
  • ftp上传网站后怎么弄wordpress国内支付
  • 西部数码官方网站环保网站主题
  • 长春seo网络优化招聘网广州市网络优化推广企业
  • 重庆网站推广工具搭建网站架构是什么意思
  • ui网站建设站评价哪个网站是专门做男人衣服的
  • 西宁网站建设多少钱wordpress怎么添加自动推送代码
  • 教育培训手机网站模板下载义乌产品设计公司
  • 阜阳市住房和城乡建设部网站怎么做谷歌seo
  • wordpress手机ui东莞seo网站推广建设
  • 什么网站做调查能赚钱吗学校教育网站模板
  • 怎么建设网站怎么样如何做网站内部优化
  • 上海创意型网站建设网站建设制作 南京公司
  • 做网站 徐州wordpress 合法评论
  • 使用php做的学校网站退役厅门户网站建设中标公告
  • 做网站开发要安装哪些软件网站 建设 步骤是
  • 管理网站 开发html企业网站模板免费下载
  • 网站建设公司一般几个人杭州网站建设价格
  • 怎么建立一个网站广告h5海报是怎么做出来的
  • 关于设计网站西安做网站公司必达
  • 用百度地图 做gis网站广告设计与制作培训机构
  • 哈尔滨服务好的建站方案昆明短视频制作公司
  • 宿州网站建设多少钱12380举报网站建设经验
  • 怎样设立网站顶呱呱做网站