python爬虫快速入门

一、简介

什么是爬虫?

​  爬虫不是在地上在墙上爬的虫子,而是指的是网络爬虫,那么网络爬虫是什么呢?其实搜索引擎就是干这事的,网络爬虫是自动提取网页的程序,全网爬取网页内容,进行收录索引,所以SEO优化搜索引擎,就是让网络爬虫更精准的识别到我们的网站内容,提高搜索排名,增加访问流量,爬虫的用途还有很多待我一一了解与学习。

  但这篇文章的内容,是介绍pythno爬虫,如何去利用python爬取网站内容,实现的方法很多,主要学习的是思路,以目前的认知,爬虫对于我来说有两种形式:

1.网站返回页面html标签,通过匹配标签进行爬取相应内容。
2.是通过网页接口返回的json数据来匹配获取。

  第一种,python我常会用的lxml库中的etree工具,进行标签匹配。

  第二种,常用response转json格式,进行匹配获取。

  这两种形式以下先大致讲解,实战代码后续会以单独的文章进行更新,敬请期待!

二、html形式爬虫

​  访问请求页面返回的是html静态的页面资源,那么遇到html返回形式的网站,我的思路是获取html页面然后通过lxml库中的etree去匹配标签获取a标签的href属性,再根据url拼接循环请求具体页面再继续etree匹配最终获取电影的BT链接。
在这里插入图片描述

代码示例:

import requests
from lxml import etree
header = {
            'User-Agent': 'Mozilla/5.0 (Windows NT 6.1; WOW64; rv:40.0) Gecko/20100101 Firefox/40.1'
}
res = requests.get("https://xxxxxx", header, verify=False, timeout=5)
if res.status_code == 200:
   lxml_tree = etree.HTML(res.content)
   href_name = lxml_tree.xpath('//table[@class="tbspan"]//a//@href')
   print(href_name)

在这里插入图片描述

三、json形式爬虫

  访问请求页面返回的是json资源,那么遇到json返回形式的网站,我的思路是通过网页接口,根据接口request参数去构造我的请求,然后获取接口response,转成json格式,通过json格式去获取对应的内容,如下图,可以通过的图片key获取图片链接的value,这是爬取json形式我的常用思路。
在这里插入图片描述

代码示例:

import requests
headers = {
    'user-agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/107.0.0.0 Safari/537.36',
}

params = {
    'query': 'sexy',
    'per_page': '20',
    'page': '2',
}

response = requests.get('https://xxxxxx', params=params, headers=headers).json()
if response.status_code == 200:
	print(response['results'][0]['links']['download'])

在这里插入图片描述

四、总结

  技术是一把双刃剑,就看持剑的人是怎么想的,爬虫有风险,操作需谨慎,爬虫被判刑的例子比比皆是,需谨慎。关注我,微信搜索艺说IT公众号,后续有这两种形式的python实战爬虫还有反防爬虫(反反爬虫)等技术干货,并附带源码,对你有帮助请点个赞,感谢各位帅哥美女。
在这里插入图片描述

  • 1
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值