Python简单网络爬虫实战—下载论文名称,作者信息(上)

本文介绍使用Python网络爬虫从dblp下载论文名称及作者信息的方法,通过requests和BeautifulSoup模块实现网页请求与解析,适用于批量收集学术资料。
Python3.9

Python3.9

Conda
Python

Python 是一种高级、解释型、通用的编程语言,以其简洁易读的语法而闻名,适用于广泛的应用,包括Web开发、数据分析、人工智能和自动化脚本

上学期小师妹的小导师要她收集2009年到现在所有年份的某个方向的全部论文的名称、作者

小师妹看着dblp上茫茫多的论文,心生绝望,弄了一下午+一个晚上才弄好了09和10两年的

于是我自告奋勇,用python给她写个脚本,虽然之前没有经验,但是也算是一种新的尝试

首先,最方便查找论文的地方当然是dblp,该网页长这样:

作者名称和论文名称都有,就很方便。

1.python请求网页

那么接下来首先要用python get到整个网页。

这个小工具需要用到两个模块:

import requests
from bs4 import BeautifulSoup

一个是requests,用于发起网页请求。

向网址为address(address必须完整,https://www.baidu.com)的html发起请求,返回的html赋给res,res编码格式为‘utf-8’:

res = requests.get(address)
res.encoding = 'utf-8'

另一个是BeautifilSoup模块

这个模块用来存储读取的网页(这里还要安装lxml模块):

soup = BeautifulSoup(res.text, 'lxml')

这样,soup中就存储了整个网页的全部信息,接下来所要提取的信息都从soup中来。

 那么怎么从soup中提取所需信息呢?这就需要查看源网页的结构了

2.谷歌浏览器查看网页结构

打开谷歌浏览器,打开目标网页(26th NDSS 2019: San Diego, CA, USA),F12:

在Elements中显示了该html的所有结构

基本上一个网页结构如下:

<html lang="en">
<head>...</head>
<body class="****" style="*****">...</body>
</html> == $0

用鼠标移动到代码行,左边的网页就会显示相应的部分。这让我们可以迅速找到所需对象的位置。

可以看到,作者名称是.publ-list类下的.entry.editor类下的.data类下的author

论文name是.publ-list类下的.entry.inproceedings类下的.data下的title

一个.data型代表一篇论文,可能没有author,也有可能有多个author,但title只有一个。

 

posted on 2019-09-17 20:39  Geronimo 阅读( ...) 评论( ...) 编辑 收藏

转载于:https://www.cnblogs.com/masonmei/p/11536993.html

您可能感兴趣的与本文相关的镜像

Python3.9

Python3.9

Conda
Python

Python 是一种高级、解释型、通用的编程语言,以其简洁易读的语法而闻名,适用于广泛的应用,包括Web开发、数据分析、人工智能和自动化脚本

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值