国家地理中文网中的图片为例,演示爬虫具备的基本功能
优采云 发布时间: 2021-06-25 00:04国家地理中文网中的图片为例,演示爬虫具备的基本功能
本文以爬取国家地理中文网站旅游类图片为例,演示爬虫的基本功能。
给定初始地址
国家地理中文网站:
获取和分析网页内容
一个。分析网页的结构以确定所需的内容部分
打开网页,右键选择“显示网页源代码”查看网页结构,以下是我截取的部分
我们会发现image类型的数据都放在标签的scr=""里面。我们只需要找到这些标签,从中提取出我们想要的联系,就可以完成我们的期望。
B.获取网页内容
要提取内容,首先要向服务器发起获取文件的请求,然后对图片信息进行分析提取,并对数据进行整理和保存
作者使用的Python3.6,获取网页内容常用的有两种方法:requests和urllib(结合python2中的urllib和urllib2)。获取网页内容请参考这篇文章:爬虫基础:Python 获取网页内容
现在,我们定义一个方法 crawl() 来获取网页
import requests
def crawl(url, headers):
with requests.get(url=url, headers=headers) as response:
# 读取response里的内容,并转码
data = response.content.decode()
return data
调用此方法获取网页内容:
# 获取指定网页内容
url = 'http://www.ngchina.com.cn/travel/'
headers = {'User-Agent':'Mozilla/5.0 (Linux; Android 6.0; Nexus 5 Build/MRA58N) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/66.0.3359.139 Mobile Safari/537.36'}
content = crawl(url, headers)
print(content)
写正则表达式匹配图片内容
这样我们就抓取到了给定地址中的图片信息,我们选择其中之一:
入库并进行下一轮爬取
我们抓取到指定的内容后,就可以将其保存到数据库中;如果是链接类型的抓取,我们可以创建一个URL队列,将指定URL中的新链接加入到URL队列中,然后进行轮次遍历和爬取,对于队列URL的处理,需要相应的策略通过根据具体需要完成相应的任务。更多爬虫信息可以参考:初始爬虫。
补充:
我们在写正则表达式的时候,可以使用网上的正则表达式工具快速查看匹配结果:菜鸟正则表达式工具。还有一些常用的正则表达式已经写在这个地址里了,比如电话、QQ号、网站、邮箱等,非常好用。