国家地理中文网中的图片为例,演示爬虫具备的基本功能

优采云 发布时间: 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号、网站、邮箱等,非常好用。

0 个评论

要回复文章请先登录注册


官方客服QQ群

微信人工客服

QQ人工客服


线