043 Python语法之网络请求urllib

本文介绍如何使用Python的urllib模块抓取网页数据,包括使用urllib.request.urlopen方法打开URL,读取并解码数据,以及利用正则表达式抓取特定信息如电子邮件地址和股票代码。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

urllib模块

方法

urllib.request.urlopen(网址)
  1. 打开一个网址,返回一个请求对象(request)
request.read()
  1. 返回值是二进制的
request.readline()
  1. 返回值是二进制的
  2. 需要用 decode(“utf-8”)进行解码

抓取天涯邮箱,逐行读取

import re
import urllib
import urllib.request

mailRegex = re.compile("([A-Z0-9._%+-]+@[A-Z0-9.-]+\.[A-Z]{2,4})", re.IGNORECASE)
mailList = []
for line in urllib.request.urlopen("http://bbs.tianya.cn/m/post-140-393974-6.shtml"):
    myList = mailRegex.findall(line.decode("utf-8"))
    if myList:
        mailList.extend(myList)

print(mailList)

抓取天涯邮箱,全部读取

import re
import urllib
import urllib.request

mailRegex = re.compile("([A-Z0-9._%+-]+@[A-Z0-9.-]+\.[A-Z]{2,4})", re.IGNORECASE)
mailList = []
myStr = urllib.request.urlopen("http://bbs.tianya.cn/m/post-140-393974-6.shtml").read()
mailList.extend(mailRegex.findall(myStr.decode("utf-8")))
print(mailList)

股票代码以及股票所在公司名抓取

下载

tup1 = urllib.request.urlretrieve("网址","1.jpg")
urlretrieve()
  1. 参数1:网址
  2. 参数2:目标地址
  3. 返回值一个元组(“存储地址”, “HttpMessage实例”)

股票数据下载

url="http://quotes.money.163.com/service/chddata.html?code=1300133&end=20130523&fields=TCLOSE;HIGH;LOW;TOPEN;LCLOSE;CHG;PCHG;TURNOVER;VOTURNOVER;VATURNOVER;TCAP;MCAP"
链接分析
  1. code=1300133,1代表深市,0代表沪市,后面接着的是股票代码
  2. end=20130523,股票交易日期

下载python库

xml支持
pip install lxml    # lxml支持
处理数据
pip install pandas  # 处理数据
科学计算
pip install numpy   # 科学计算
财经数据接口
pip install tushare # 财经数据接口
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

豆豆orz

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

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

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

打赏作者

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

抵扣说明:

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

余额充值