Python字符串处理成字节以及Python3网页爬虫的开发教程
Python是一种高级编程语言,它在很多方面提供了很多便利,同时用Python写爬虫非常方便。这篇文章将会介绍Python中如何将字符串处理成字节,并深度分析Python3网页爬虫的开发教程。
一、Python中将字符串处理成字节
那么,如何将Python字符串处理成字节呢?Python中的字符串是以Unicode(UTF-8)形式存储的,而字节则是以ASCII码形式存储的。所以将字符串处理成字节可以用字符串对象的encode()方法实现。
例如:
```
s = "Hello, world!"
b = s.encode('utf-8')
print(b)
```
上述代码中,先将字符串s编码为字节串b,用encode()方法,参数为'utf-8'。在输出b时,显示它的ASCI码序列。
二、Python3网页爬虫开发教程
Python是一个非常流行的网络爬虫编程语言。Python的好处在于可以轻松从Web页面上抓取大量数据,并将数据储存在本地计算机上,然后再对数据进行分析,处理,和可视化。
Python3增强了原有的Python2.7版本,修改了许多不够稳定的部分和迭代开发。Python3在网页爬虫的开发上,拥有更好的多线程技术,IO的增强,更好的网络模块,以及更加符合开发规范的代码等等。
下面是一个Python3网页爬虫的开发步骤:
一、导入必要的模块和库
在Python3中,需要导入以下模块和库:
```
import urllib.request
from bs4 import BeautifulSoup
```
上述代码中,urllib.request和BeautifulSoup可以快速抓取网页上需要的信息和解析HTML格式。
二、设定一个目标URL
因为要制作一个网页爬虫,所以我们需要设定一个目标网站。例如:
```
target_url = 'http://www.nba.com/news/'
```
其中, target_url是要抓取的网站的网址。
三、设置一个请求头
在Python3中,为了遵守HTTP协议,必须发送一个HTTP请求头。我们可以使用urllib.request.urlopen函数来创建一个请求头,例如:
```
header = {"User-Agent": "Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/63.0.3239.132 Safari/537.3"}
req = urllib.request.Request(url=target_url, headers=header)
```
在上述代码中,使用了header,来设置User-Agent,并使用urllib.request.Request来构建一个请求头。
四、从目标网站获取信息
使用urllib.request.urlopen(req)方法,来发送HTTP请求头,并从目标URL中获取信息,例如:
```
response = urllib.request.urlopen(req)
html = response.read()
```
在上述代码中,response用于接收web服务器相应的信息,而html用于存储页面信息。
五、解析HTML标签以抓取需要的信息
将网站页面的HTML解析为可以使用的信息,可以使用BeautifulSoup模块,例如:
```
soup = BeautifulSoup(html, 'html.parser')
data = soup.find_all('a', {'class': 'story-title'})
```
在上述代码中,使用BeautifulSoup生成一个soup对象,并用find_all()方法找到包含新闻信息的标签。
六、打印抓取的信息
最后,用for循环来遍历data,并输出抓取的数据,例如:
```
for i in data:
print(i.text.strip(), '\n')
```
七、完整代码
最终的完整代码如下:
```
import urllib.request
from bs4 import BeautifulSoup
target_url = 'http://www.nba.com/news/'
header = {"User-Agent": "Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/63.0.3239.132 Safari/537.3"}
req = urllib.request.Request(url=target_url, headers=header)
response = urllib.request.urlopen(req)
html = response.read()
soup = BeautifulSoup(html, 'html.parser')
data = soup.find_all('a', {'class': 'story-title'})
for i in data:
print(i.text.strip(), '\n')
```
八、总结
Python将字符串处理成字节很容易,只需使用字符串对象的encode()方法即可。网页爬虫的开发需要遵守HTTP协议才能将自己的代码运行在网站上,同时使用urllib.request和BeautifulSoup程序包来抓取并解析HTML网页。 如果你喜欢我们三七知识分享网站的文章, 欢迎您分享或收藏知识分享网站文章 欢迎您到我们的网站逛逛喔!https://www.ynyuzhu.com/
发表评论 取消回复