在Python中获取网络数据通常有以下几种方法:
1. 使用`urllib`库:
import urllib.requesturl = 'http://www.example.com'response = urllib.request.urlopen(url)data = response.read()print(data.decode('utf-8'))
2. 使用`requests`库:
import requestsurl = 'http://www.example.com'response = requests.get(url)data = response.textprint(data)
3. 使用`BeautifulSoup`库解析HTML内容:

from bs4 import BeautifulSoupimport requestsurl = 'http://www.example.com'response = requests.get(url)html = response.textsoup = BeautifulSoup(html, 'html.parser')使用BeautifulSoup的方法提取数据
4. 使用`socket`库进行底层网络通信:
import sockets = socket.socket(socket.AF_INET, socket.SOCK_STREAM)s.connect(('www.example.com', 80))s.sendall(b'GET / HTTP/1.1\r\nHost: www.example.com\r\n\r\n')while True:data = s.recv(512)if len(data) < 1:breakprint(data.decode())s.close()
5. 构造带有自定义请求头的请求:
import urllib.requesturl = 'http://www.example.com'headers = {'Connection': 'Keep-Alive','Accept': 'text/html, application/xhtml+xml, */*','Accept-Language': 'zh-CN,zh;q=0.8','User-Agent': 'Mozilla/5.0 (Windows NT 6.3; WOW64; Trident/7.0; rv:11.0) like Gecko'}req = urllib.request.Request(url, headers=headers)opener = urllib.request.urlopen(req)page = opener.read()print(page.decode('utf-8'))
选择合适的方法根据你的具体需求,比如是否需要解析HTML内容、是否需要自定义请求头等。
