1 import re
2 import requests
3 from bs4 import BeautifulSoup
4 import lxml
5 import traceback
6 import time
7 import json
8 from lxml import etree
9 def get_paper():
10 #https://www.ecva.net/papers/eccv_2020/papers_ECCV/html/267_ECCV_2020_paper.php
11 #https://www.ecva.net/papers/eccv_2020/papers_ECCV/html/283_ECCV_2020_paper.php
12 #https://www.ecva.net/papers/eccv_2020/papers_ECCV/html/343_ECCV_2020_paper.php
13 url='https://www.ecva.net/papers.php'
14 headers = {
15 'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/90.0.4430.212 Safari/537.36'
16 }
17 response=requests.get(url,headers)
18 response.encoding='utf-8'
19 page_text=response.text
20 #输出页面html
21 # print(page_text)
22 soup = BeautifulSoup(page_text,'lxml')
23 all_dt=soup.find_all('dt',class_='ptitle')
24 #暂存信息
25 temp_res=[]
26 #最后结果集
27 res=[]
28 #链接
29 link_res = []
30 for dt in all_dt:
31 single_dt=str(dt)
32 single_soup=BeautifulSoup(single_dt,'lxml')
33 title=single_soup.find('a').text
34 #存标题
35 temp_res.append(title)
36 #存摘要
37
38 #存关键字
39
40 #存源链接
41 sourcelink=single_soup.find('a')['href']
42 sourcelink="https://www.ecva.net/"+sourcelink
43 temp_res.append(sourcelink)
44 res.append(temp_res)
45 temp_res=[]
46 #爬取作者和pdf文件链接
47 all_dd=soup.find('div',id='content')
48 all_dd=all_dd.find_all('dd')
49 flag=0
50 author=[]
51 download=[]
52 pdfinfo=[]
53 for item in all_dd:
54 if(flag%2==0):
55 #保存作者
56 author.append(item)
57 else:
58 linktext=str(item)
59 linksoup=BeautifulSoup(linktext,'lxml')
60 link_res.append(linksoup.find_all('div',class_='link2'))
61 #解析download 和 pdfinfo
62 flag = flag + 1
63 """
64 继续使用beautifulsoup
65 download_text 和 pdfinfo_text
66 存储author
67 "https://www.ecva.net/"
68 """
69 linkflag=1
70 print(len(link_res))
71 for items in link_res:
72 for item in items:
73 if(linkflag%2==0):
74 pdfinfo_text = str(item)
75 else:
76 download_text = str(item)
77 linkflag=linkflag+1
78 download_text_soup=BeautifulSoup(download_text,'lxml')
79 pdfinfo_text_soup=BeautifulSoup(pdfinfo_text,'lxml')
80 #解析两个链接
81 download.append("https://www.ecva.net/"+download_text_soup.find('a')['href'])
82 pdfinfo.append(pdfinfo_text_soup.find('a')['href'])
83 print(len(download))
84 print(len(pdfinfo))
85 # for item in download :
86 # print(item)
87 print("------------------------------")
88
89 #把作者和download pdfinfo 存到res
90 for i in range(0,len(res)):
91 #添加作者
92 res[i].append(author[0])
93 #添加download
94 res[i].append(download[0])
95 #添加pdfinfo
96 res[i].append(pdfinfo[0])
97 #遍历最终结果集
98 print(res[0])
99 # for item in res:
100 # print(item)
101 return
102
103 if (__name__=='__main__'):
104 get_paper()

Python爬虫爬取ECVA论文标题、作者、链接的更多相关文章

  1. Python爬虫爬取豆瓣电影名称和链接,分别存入txt,excel和数据库

    前提条件是python操作excel和数据库的环境配置是完整的,这个需要在python中安装导入相关依赖包: 实现的具体代码如下: #!/usr/bin/python# -*- coding: utf ...

  2. 使用Python爬虫爬取网络美女图片

    代码地址如下:http://www.demodashi.com/demo/13500.html 准备工作 安装python3.6 略 安装requests库(用于请求静态页面) pip install ...

  3. 一个简单的python爬虫,爬取知乎

    一个简单的python爬虫,爬取知乎 主要实现 爬取一个收藏夹 里 所有问题答案下的 图片 文字信息暂未收录,可自行实现,比图片更简单 具体代码里有详细注释,请自行阅读 项目源码: # -*- cod ...

  4. Python爬虫爬取全书网小说,程序源码+程序详细分析

    Python爬虫爬取全书网小说教程 第一步:打开谷歌浏览器,搜索全书网,然后再点击你想下载的小说,进入图一页面后点击F12选择Network,如果没有内容按F5刷新一下 点击Network之后出现如下 ...

  5. python爬虫-爬取百度图片

    python爬虫-爬取百度图片(转) #!/usr/bin/python# coding=utf-8# 作者 :Y0010026# 创建时间 :2018/12/16 16:16# 文件 :spider ...

  6. Python爬虫 - 爬取百度html代码前200行

    Python爬虫 - 爬取百度html代码前200行 - 改进版,  增加了对字符串的.strip()处理 源代码如下: # 改进版, 增加了 .strip()方法的使用 # coding=utf-8 ...

  7. 用Python爬虫爬取广州大学教务系统的成绩(内网访问)

    用Python爬虫爬取广州大学教务系统的成绩(内网访问) 在进行爬取前,首先要了解: 1.什么是CSS选择器? 每一条css样式定义由两部分组成,形式如下: [code] 选择器{样式} [/code ...

  8. Python爬虫|爬取喜马拉雅音频

    "GOOD Python爬虫|爬取喜马拉雅音频 喜马拉雅是知名的专业的音频分享平台,用户规模突破4.8亿,汇集了有声小说,有声读物,儿童睡前故事,相声小品等数亿条音频,成为国内发展最快.规模 ...

  9. python爬虫爬取内容中,-xa0,-u3000的含义

    python爬虫爬取内容中,-xa0,-u3000的含义 - CSDN博客 https://blog.csdn.net/aiwuzhi12/article/details/54866310

  10. python爬虫—爬取英文名以及正则表达式的介绍

    python爬虫—爬取英文名以及正则表达式的介绍 爬取英文名: 一.  爬虫模块详细设计 (1)整体思路 对于本次爬取英文名数据的爬虫实现,我的思路是先将A-Z所有英文名的连接爬取出来,保存在一个cs ...

随机推荐

  1. win32 - 基于hwnd获取进程名字(GetModuleFileNameEx)

    #include <Windows.h> #include <psapi.h> int main() { DWORD process_ID = 0; WCHAR process ...

  2. 机器学习策略篇:详解正交化(Orthogonalization)

    正交化 这是一张老式电视图片,有很多旋钮可以用来调整图像的各种性质,所以对于这些旧式电视,可能有一个旋钮用来调图像垂直方向的高度,另外有一个旋钮用来调图像宽度,也许还有一个旋钮用来调梯形角度,还有一个 ...

  3. 【MongoDB】MongoDB原理分析、集群搭建(Docker)与简单使用

    一.MongoDB 简介 MongoDB是一个基于分布式文件存储的数据库,介于关系数据库和非关系数据库之间,是非关系数据库当中功能最丰富,最像关系数据库的.其目的是为WEB应用提供可扩展的高性能数据存 ...

  4. 学会了MySql高级查询让你在工作中游刃有余

    一.单元概述 通过本章的学习能够理解MySQL数据库中分组查询的含义,掌握常用分组函数的使用,掌握GROUP BY子句的使用规则,掌握分组后数据结果的条件过滤,掌握SELECT语句执行过程,理解子查询 ...

  5. 在ABP的模块解决方案中使用BootstrapBlazor

    1.为Study.Trade.Blazor.Server.Host引入两个包 成功后效果如下: 2.修改Study.Trade.Blazor.Server.Host的Pages目录下的_Host.cs ...

  6. webpack图片压缩

    减少代码体积 | 尚硅谷 Web 前端之 Webpack5 教程 (yk2012.github.io) npm install image-mininizer webpack plugin image ...

  7. Java 开发人员调度软件项目 (java基础编程总结项目)+javaBean+测试代码+数组知识+数据结构+继承+多态+封装+自定义异常,异常处理+构造器知识+重载+重写+接口+实现接口+关键字使用(static +equalsIgnoreCase+fianl+instanceof判断类型)+向下转型与向上转型

    /** * * @Description Java 开发人员调度软件项目 (java基础编程总结项目) * +javaBean+测试代码+数组知识+数据结构+继承+多态+封装+自定义异常,异常处理 * ...

  8. 内部UI自动化测试培训之python基础

    这个文档的由来是公司内部UI自动化测试培训的资料.部门为了减少测试工作量,准备做UI自动化测试.我写python,其他同事都是java,所以python基础和UI自动化测试selenium的培训就由我 ...

  9. postgreSql最佳配置详解(connection 申请、回收策略)

    一.引子 合理配置一个应用的数据库参数,使其运行良好,这很重要.本文以某务中台的生产环境为例,从Apollo上拔下来一套配置,分析是否合理. 二.MybatisPlus配置 由于我们使用Apollo配 ...

  10. 酷呆桌面 CooDesker 桌面整理工具 - 软件推荐

    酷呆桌面 CooDesker 桌面整理工具 - 软件推荐 推荐理由 满足了我对桌面映射到某一目录的需求,这样桌面就真的干净了 免费且没有广告 可进入目录继续延展,双击空白地方返回上一层,非常方便 5M ...