python 爬虫 requests 和 BeautifulSoup 基本用法(看完就会)

 随便你会一丢丢python就可以灵活运用python爬虫

1、requests使用:(抓取数据)

requests 的作用是用网址,去获取网页的数据。

一般的小网页可以使用:

import requests
url = 'http://www.baidu.com'    #url是变量,装的网址,是字符串类型
soup = requests.get(url=url)     #这就是获取数据的方法,你就能把整个网页数据拿下来

较正常的网页:

就是为了防止电脑用代码恶意爬取此网址,电脑代码的巨额量访问有可能导致网址崩溃。所以直接封禁了不是人为的操作。

所以我们上面的代码就不起作用了,反而反之爬虫也学会了模仿人的操作,把自己包装成例如人在使用浏览器访问它网页的意思。

下图就是可以把电脑代码包装成为真人在用浏览器访问的神奇魔法!!它就是    headers

import requests   #调用包进来进行使用
url = 'http://www.baidu.com'
headers = {
    "User-Agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/114.0.0.0 Safari/537.36 Edg/114.0.1823.37"
}
soup = requests.get(url=url,haders=headers)

在此不要迷茫我会教你怎么弄headers 里面的内容

1、打开浏览器

2、把你要爬取的网址输入进去后,按回车

3、按一下键盘上的F12

4、下图所示

 5、如我第二块代码区域在两侧添加上  双引号(一共两对双引号),中间用       冒号(:)  隔开!!

好了现在数据你可以随便拿了

2、BeautifulSoup的使用(解析网页用的)

网页数据你拿了下来并不是直接就可以使用,还需要解析一下我们才可以拿到自己想要的数据。

import requests   #调用包进来进行使用
url = 'http://www.baidu.com'
headers = {
    "User-Agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/114.0.0.0 Safari/537.36 Edg/114.0.1823.37"
}
response = requests.get(url=url,haders=headers)

from bs4 import BeautifulSoup
soup = BeautifulSoup(response.text, "lxml")     #response.text 把网页拿下来的数据提取出来   
                                                #用lxml来进行解析,还有其他的解析方法可以自行去了解
for i in soup.find_all():   #find_all解析过的所有数据,可以拿来遍历。
    print(i)    #就可以输出遍历出来的数据了

接下来就讲解该如何提取数据(下面一黑一白图表,壹壹对应)自行理解:(看完不懂可以跳过        两图        先往下看再返回理解)

#通过以上代码我们到了遍历的阶段。连接此图和下图自行理解。
for i in soup.find_all(name='li'):
    print(i.find(attrs={'class':'msk'}))
    print(i.find(attrs={'class':'msk'})['title'])
    print(i.find(attrs={'class':'nb'}))
    print(i.find(attrs={'class':'nb'}).string)

soup.find_all()里面的name='li',          li是一个标签,因为我们要抓取的数据都在li标签里面,所以name='li'。以此理解可以举一反三。下图展示的是自己需要的数据在li标签内。所以需要name='li'。!!!!!!

         

        然后就拿到你心仪的数据啦,希望能帮到各位码友。😘😘

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值