python简单的爬虫

学习完Python语法之后可以做一个简单的爬虫来练手,我学习Python用的是《Python编程:从入门到实践》这本书。先安装的Anaconda,从官网下载,百度有安装教程。IDE使用的PyCharm,百度有安装教程,使用激活码激活,激活码也是百度的。

 

 

关于Python爬虫,知乎有一个帖子,讲的是从零开始写Python爬虫,链接:https://zhuanlan.zhihu.com/p/26673214

关于爬虫的一些库:

Requests 库:一款比较好用的HTTP库,python自带有urllib以及urllib2等库,但用起来是没有这个舒服。

BeautifulSoup 库 :一款优秀的HTML/XML解析库。建议安装lxml解析器,如果不安装lxml,则BeautifulSoup会使用Python内置的解析器对文档进行解析。之所以使用lxml,是因为它速度快。(关于爬虫中常见的两个网页解析工具的分析——lxml/xpath与bs4/BeautifulSoup:https://www.cnblogs.com/binye-typing/p/6656595.html?utm_source=itdadao&utm_medium=referral

 

一、requests库的安装与使用

键盘win+R快捷键,输入cmd,运行命令窗口。然后输入pip install requests,等待安装完毕。

打开PyCharm,创建一个python文件,输入第一行代码导入requests库,然后获取目标网页。

import requests

r=requests.get("https://www.baidu.com")
print(r.text)

运行该文件,输出结果。

 

关于headers:

1、为什么要设置headers?

在请求网页爬取的时候,输出的信息中会出现“抱歉,无法访问等字眼”,这就是禁止爬取,需要通过反爬机制去解决这个问题。headers是解决requests请求反爬的方法之一,相当于我们进去这个网页的服务器本身,假装自己本身在爬取数据。

2、headers在哪里找?

谷歌或火狐浏览器,在网页页面上点击右键-->检查,选择Network,按一下F5刷新出网页。在左边Name一栏选中爬取的网址,在右边一栏中选中Headers,拉到Request Headers部分,可以看到一系列的键值对。主要常用的就是user-agent和host,如果user-agent以字典键对形式作为headers的内容,就可以反爬成功,不需要其他键值对;否则,需要加入headers下的更多键值对形式。

例如:

import requests

r=requests.get("https://www.zhihu.com")
print(r.text)

 输出:

import requests

headers={
    "User-Agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/68.0.3440.106 Safari/537.36"
}
r=requests.get("https://www.zhihu.com",headers=headers)
print(r.text)

输出

 

附:HTTP请求的返回状态

HTTP状态码分类
分类分类描述
1**信息,服务器收到请求,需要请求者继续执行操作
2**成功,操作被成功接收并处理
3**重定向,需要进一步的操作以完成请求
4**客户端错误,请求包含语法错误或无法完成请求
5**服务器错误,服务器在处理请求的过程中发生了错误

常见:404、500、502、403 

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值