**
如何快速上手Python爬虫
**
要求:爬取百度首页相关信息:
备注: 第一个爬虫
使用的模块为url,需要引入这两个模块,有两种方式;是它下面另外一个模块request,这个是python自带的模块,不需要下载安装:
方法一:
1.首先下载安装好IDLE (Python 3.8 64-bit),以及Anaconda Navigator在这里推荐使用Jupyter Notebook,因为其在Anaconda Navigator环境中,很多包自带的不需要另行下载,不要太好操作啦。
2.假设我们需要爬取百度的首页:
写代码的时候注意,把http后面s去掉即可:http://www.baidu.com/,这里做了转换,多了一个s,协议请求会比没有s的请求更加安全一些,这样就根本获取不到相关信息了。接下来就是确定url:
有时候为了防止url里面有一些转移字符,建议在前面加上一个r。
下一步就是发送请求,获取响应信息,对url发一个open,并对变量进行接收,之后对这个在进行.read()读一下,把爬取的信息读取出来:
然后打印一下,再进行执行,如下经过改装得到:
完整代码如下:
#方法一
import urllib.request
url=r"http://www.baidu.com/"
#发送请求.获取响应信息
reponse=request.urlopen(url).read()
print(reponse)
再执行一下,就会生成下面结果:
方法二,代码如下:
#方法二
import urllib.request
s=urllib.request.urlopen("http://www.baidu.com")
print(s.read())
执行一下,如下:
3.我们再比较一下页面的源代码之间的区别与联系:
可以直接进入网页,查看源代码,即可生成:
也可以通过代码的形式给予呈现:
#查看页面源代码
import requests
head={"User-Agent": "Mozilla/5.0 (Windows NT 6.1; WOW64)AppleWebKit/537.36 (KHTML, like Gecko) Chrome/65.0.3325.181 Safari/537.36"}
s = requests.get("http://www.baidu.com",headers=head)
print(s.text)
得到结果如下:
由此比较可得,这里网页信息是通过二进制来进行读取的,所以 是这样的,将中文以二进制进行显示。
4.如何查看或者打印其长度,代码稍微有所变化,加一个len即可:
#查看长度
import urllib.request
url=r"http://www.baidu.com/"
#发送请求.获取响应信息
reponse=request.urlopen(url).read()
print(len(reponse))
执行之后,如下图:
欢迎小伙伴交流、评论,转载需要注明处处。谢谢!