python单线程爬虫(一)

学习了python的requests爬虫库,首先安装pip包管理工具,下载get-pip.py. 我的机器上安装的既有python2也有python3。
安装pip到python2:

python get-pip.py

安装到python3:

python3 get-pip.py

pip安装完成以后,安装requests库开启python爬虫学习。

安装requests

pip3 install requests

我使用的python3,python2可以直接用pip install requests.

入门例子

import requests

html=requests.get("http://gupowang.baijia.baidu.com/article/283878")
html.encoding='utf-8'
print(html.text)

第一行引入requests库,第二行使用requests的get方法获取网页源代码,第三行设置编码格式,第四行文本输出。
把获取到的网页源代码保存到文本文件中:

import requests
import os

html=requests.get("http://gupowang.baijia.baidu.com/article/283878")
html_file=open("news.txt","w")
html.encoding='utf-8'
print(html.text,file=html_file)

设置headers

把上面的链接换成CSDN的一篇博客,发现得到网页的源文件并没有内容,而是403 Forbidden。
这里写图片描述
这是因为服务器设置导致拒绝访问,爬虫访问网页和浏览器访问网页有区别,区别就在于发生请求的时候还发送到有request header信息。随便打开一个网页,使用chrome开发者工具,点击network然后刷新一下重新访问。

这里写图片描述
要想不被服务器禁止,就模拟浏览器加上headers

head={'User-Agent':'Mozilla/5.0 (iPhone; CPU iPhone OS 8_0 like Mac OS X) AppleWebKit/600.1.3 (KHTML, like Gecko) Version/8.0 Mobile/12A4345d Safari/600.1.4'}

get方法加入一个参数,变成:

html=requests.get("http://blog.csdn.net/napoay/article/details/50442354",headers=head)

再次运行就不会出现被服务器禁止的情况。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

esc_ai

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值