爬虫笔记(一)——第一个爬虫

最近对爬虫比较感兴趣,就在csdn上的电子书里找了本爬虫书(Python网络爬虫从入门到实践 第2版)学学看,顺便做下笔记。

注意:我们不管是在学习爬虫或者以后使用爬虫,都要遵守爬虫协议,也就是Robots协议,网站通过Robots协议告诉搜索引擎哪些页面可以抓取,哪些页面不能抓取。

Python爬虫的流程

在这里插入图片描述

  1. 获取网页就是给一个网址发送请求,该网址会返回整个网页的数据。类似于在浏览器中键入网址并按回车键,然后可以看到网站的整个页面。
  2. 解析网页就是从整个网页的数据中提取想要的数据。类似于你在页面中想找到产品的价格,价格就是你要提取的数据。
  3. 存储数据就是把数据存储下来。我们可以存储在csv中,也可以存储在数据库中。

第一个爬虫

获取页面

import requests

link = "https://blog.csdn.net/weixin_43771998/article/details/113807247"

#定义请求头的浏览器代理,伪装成浏览器
headers = {
    
    "User-Agent":"Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/86.0.4240.198 Safari/537.36"}

#请求网页
r = requests.get(link,headers = headers)

print(r.text)

在这里插入图片描述

可以通过F12查找自己浏览器Headers里面的属性。
在这里插入图片描述

解析页面

import requests
from bs4 import BeautifulSoup

link = "https://blog.csdn.net/weixin_43771998/article/details/113807247"

#定义请求头的浏览器代理,伪装成浏览器
headers = {
    
    "User-Agent":"Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/86.0.4240.198 Safari/537.36"}

#请求网页
r = requests.get(link,headers = headers)

#----------------------------------------------------------------------------------------------------------------------------------------
#使用BeautifulSoup解析
soup = BeautifulSoup(r.text,"html.parser")

title = soup.find("h1",class_= "title-article").text.strip()

print(title)

在这里插入图片描述

title = soup.find(“h1”,class_= “title-article”).text.strip()意思是定位到class是“title-article”的h1元素,提取里面的字符串,strip()去除左右空格。

在这里插入图片描述

存储数据

import requests
from bs4 import BeautifulSoup

link = "https://blog.csdn.net/weixin_43771998/article/details/113807247"

#定义请求头的浏览器代理,伪装成浏览器
headers = {
    
    "User-Agent":"Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/86.0.4240.198 Safari/537.36"}

#请求网页
r = requests.get(link,headers = headers)

#----------------------------------------------------------------------------------------------------------------------------------------
#使用BeautifulSoup解析
soup = BeautifulSoup(r.text,"html.parser")

title = soup.find("h1",class_= "title-article").text.strip()

print(title)

#----------------------------------------------------------------------------------------------------------------------------------------
#打开一个空白的txt,然后使用f.write写入刚刚的字符串title
with open("test.txt","a+") as f:
    f.write(title)

在这里插入图片描述

txt文件和当前python文件放在同一个文件夹。
查看python文件的存储地址:

import os
print(os.path.abspath('.'))

在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/weixin_43771998/article/details/113876361