Python-爬虫基础

开篇有些话

  • 爬虫,你创造它,它给予你!
  • 我的爬虫是参考着唐松作者的《Python网络爬虫从入门到实践》学习的
  • 学习网站:www.santostang.com

本章内容

实现爬虫的步骤

第一步:获取页面

爬虫获取页面的步骤我分为如下几点:

  • 明确你所要获取页面的域名
// 本次要获取的页面是:www.santostang.com
url ="http://www.santostang.com/" #定义所要爬取的网站地址
  • 利用requests的headers伪装成浏览器访问
headers ={"User-Agent":" Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:80.0) Gecko/20100101 Firefox/80.0"} #伪装成浏览器


伪装信息获取方法:
1.推荐浏览器使用FireFox、Chrome
2.利用浏览器,进入你所要爬取的网站
3.F12进入控制台(笔记本可能要按住Fn,再点击F12)
4.找到下图所示信息:(加入代码,如上诉代码所示)
在这里插入图片描述

  • 发送请求
// get函数第一个参数是域名信息,第二个参数是伪装信息
//在使用requests之前,需要用import导入requests包
r = requests.get(url,headers) #发送请求申请
import requests  #导入所需要的的包
  • 打印出获取到的页面的text
print(r.text)

获取页面结果如下:
在这里插入图片描述

第二步:提取所需要的数据

  • 在以上实现的代码基础上,现在我想单独拿出某个标题,如下图所示在这里插入图片描述

  • 在完成上面获取页面的代码之后,我们获得了一个html的对象,而我们在进行提取数据时,所需要的是soup对象,所以在这里利用BeautifulSoup这个库,将HTML的代码转化成soup对象

    from bs4 import BeautifulSoup  #导入所需要的的包
    
    //利用BeautifulSoup对对象进行转换
    //其中第一个参数是要转化的对象,第二个参数是指定解析器
    soup = BeautifulSoup(r.text,"lxml")  
    
  • 接下来就可以利用find方法捕捉到所要的标题

    //按照上面图片里的头,写入find
      title = soup.find("h1",class_="post-title").a.text.strip()
      print(title)  #打印捕获到的标题
    

第三步:储存数据

  • 还没有开始数据库之前,学习的是写入文件中,步骤如下:
    –with open 打开文件
    –write方法写入文件
    –close方法关闭文件

  • 具体代码如下:

     with open('title.txt','a+') as f:
    	f.write(title)
     	f.close()
    
  • 成功编译后,在项目文件夹下,生成title.txt文件

  • 打开文件,以及将捕获的数据存入该文件

  • 效果如下图:
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

整体代码

  • 日志2-代码总

    #!  usr\bin\python
    #  conding: UTF-8
       import requests  #导入所需要的的包
       from bs4 import BeautifulSoup
    '''
    1.确定要爬取的内容
    2.伪装浏览器
    3.requests发起申请
    '''
    url ="http://www.santostang.com/" #定义所要爬取的网站地址
    headers ={"User-Agent":" Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:80.0) Gecko/20100101 Firefox/80.0"} #伪装成浏览器
    r = requests.get(url,headers) #发送请求申请
    # print(r.text)
    
    '''
    上面获取了整个页面的Html
    为了使用提取数据的find方法,需要将整个html文件转换成soup对象
    这里使用的方法是:BeatifulSoup  
    '''
    soup = BeautifulSoup(r.text,"lxml")
    title = soup.find("h1",class_="post-title").a.text.strip()
    print(title)
    
    '''
    上面已经完成了数据的提取
    现在将提取的数据存入文件中
    首先用with open 打开文件
    在用write命令写入文件
    最后关闭文件
    '''
    with open('title.txt','a+') as f:
    f.write(title)
    f.close()
    

    欢迎小伙伴指导,一起进步!

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值