Python爬虫爬取ECVA论文标题、作者、链接
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论文标题、作者、链接的更多相关文章
- Python爬虫爬取豆瓣电影名称和链接,分别存入txt,excel和数据库
前提条件是python操作excel和数据库的环境配置是完整的,这个需要在python中安装导入相关依赖包: 实现的具体代码如下: #!/usr/bin/python# -*- coding: utf ...
- 使用Python爬虫爬取网络美女图片
代码地址如下:http://www.demodashi.com/demo/13500.html 准备工作 安装python3.6 略 安装requests库(用于请求静态页面) pip install ...
- 一个简单的python爬虫,爬取知乎
一个简单的python爬虫,爬取知乎 主要实现 爬取一个收藏夹 里 所有问题答案下的 图片 文字信息暂未收录,可自行实现,比图片更简单 具体代码里有详细注释,请自行阅读 项目源码: # -*- cod ...
- Python爬虫爬取全书网小说,程序源码+程序详细分析
Python爬虫爬取全书网小说教程 第一步:打开谷歌浏览器,搜索全书网,然后再点击你想下载的小说,进入图一页面后点击F12选择Network,如果没有内容按F5刷新一下 点击Network之后出现如下 ...
- python爬虫-爬取百度图片
python爬虫-爬取百度图片(转) #!/usr/bin/python# coding=utf-8# 作者 :Y0010026# 创建时间 :2018/12/16 16:16# 文件 :spider ...
- Python爬虫 - 爬取百度html代码前200行
Python爬虫 - 爬取百度html代码前200行 - 改进版, 增加了对字符串的.strip()处理 源代码如下: # 改进版, 增加了 .strip()方法的使用 # coding=utf-8 ...
- 用Python爬虫爬取广州大学教务系统的成绩(内网访问)
用Python爬虫爬取广州大学教务系统的成绩(内网访问) 在进行爬取前,首先要了解: 1.什么是CSS选择器? 每一条css样式定义由两部分组成,形式如下: [code] 选择器{样式} [/code ...
- Python爬虫|爬取喜马拉雅音频
"GOOD Python爬虫|爬取喜马拉雅音频 喜马拉雅是知名的专业的音频分享平台,用户规模突破4.8亿,汇集了有声小说,有声读物,儿童睡前故事,相声小品等数亿条音频,成为国内发展最快.规模 ...
- python爬虫爬取内容中,-xa0,-u3000的含义
python爬虫爬取内容中,-xa0,-u3000的含义 - CSDN博客 https://blog.csdn.net/aiwuzhi12/article/details/54866310
- python爬虫—爬取英文名以及正则表达式的介绍
python爬虫—爬取英文名以及正则表达式的介绍 爬取英文名: 一. 爬虫模块详细设计 (1)整体思路 对于本次爬取英文名数据的爬虫实现,我的思路是先将A-Z所有英文名的连接爬取出来,保存在一个cs ...
随机推荐
- docker 常用命令 快捷命令
一.查询节点 docker ps -a 二.docker重启停止 systemctl restart docker systemctl stop docker docker restart * 三.一 ...
- RK3568开发笔记(九):开发板buildroot固件调通RS485口,运行项目中RS485协议调试工具Demo
前言 上一篇已经将Qt移植过去了,此时我们移植整体应用不是什么问题了,那么现在应用对外得接口使用了RS485接口,板载了一个RS485,于是需要调通,兼容这个开发板得RS485. 补充 看 ...
- gin框架中的c.Next()/c.Abort()
package main import ( "fmt" "github.com/gin-gonic/gin" ) func func1(c *gin.Conte ...
- 图片验证码pillow模块
安装下载 pip install pillow 使用 需要引入PIL里面的Image from PIL import Image # mode为采用什么色系,size为大小px,color为颜色 im ...
- python模块imghdr-----推测图像类型
官方文档 https://docs.python.org/zh-cn/3/library/imghdr.html#module-imghdr 用处 模块推测文件或字节流中的图像的类型 imghdr.w ...
- 通过命令修改git提交的注释信息
1.修改最新一条 commit 注释信息 通过 git commit --amend 命令修改注释信息,然后:wq 进行保存,再重新提交 2. 修改多条 commit 注释信息 输入命令:git re ...
- .NET 链接数据库:证书链是由不受信任的颁发机构颁发的
错误信息 证书链是由不受信任的颁发机构颁发的 错误环境 .NET web.config链接数据库(发布到服务)时报错 解决方法 下面配置标红部分在你的代码配置中增加或者修改 <add name= ...
- 使用ConfuserEx代码混淆工具保护你的.NET应用程序
前言 .NET应用如何防止被反编译?这个对于我们.NET开发而言是一个值得关注和重视的问题,防止应用程序被反编译的手段有很多本文我们主要讲讲如何使用ConfuserEx .NET开源免费的代码混淆工具 ...
- 【Azure 媒体服务】使用媒体服务 v3 对视频进行上载、编码和流式传输时遇见的AAD错误
问题描述 使用媒体服务 v3 对视频进行上载.编码和流式传输示例时,遇见了AAD错误. TIP: Make sure that you have filled out the appsettings. ...
- Java 常用类 String的常用方法(2)
1 /** 2 * String 常用方法(2) 3 * boolean endsWith(String suffix):测试此字符串是否以指定的后缀结束 4 * boolean startsWith ...