beatiful soup用法

本篇博客介绍了一个Python脚本,该脚本能够从新浪财经网站爬取特定股票的历史数据,包括设置请求头、解析网页内容等步骤,并对可能遇到的字符编码问题进行了处理。

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

#!/usr/bin/env Python
# coding=utf-8
import requests,os
from bs4 import BeautifulSoup as bs
from lxml import etree


"""import sys
reload(sys)
sys.setdefaultencoding("utf-8")"""


path=r"E:\historymaterials_day"
filenames=os.listdir(path)
filenameslist=[]


for i in range(len(filenames)):
filenameslist.append(filenames[i].split(".")[0])




headers = {'User-Agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_12_3) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/56.0.2924.87 Safari/537.36'}
n=0
for code in filenameslist:
    if n<1:
        n+=1
        #r = requests.get("http://vip.stock.finance.sina.com.cn/corp/go.php/vMS_FuQuanMarketHistory/stockid/"+code+".phtml?year=2017&jidu=1")
        r=requests.get("http://money.finance.sina.com.cn/corp/go.php/vMS_FuQuanMarketHistory/stockid/600000.phtml?year=2018&jidu=1")
#        r.encoding='utf-8'
        r.encoding=r.apparent_encoding
        html=r.text#.encode("utf-8")
#        html_doc=html.decode("utf-8","ignore")
        bs222=bs(html,"html.parser")
        print type(aa)
        print aa.text

注意,bs222不能写成bs ,不能和bs模块重名

遇到乱码时的主要方法:

前边加上

#!/usr/bin/env Python

# coding=utf-8

import sys

reload(sys)

sys.setdefaultencoding("utf-8")

下载时候用r.encoding=“”进行编码

    html=r.text

        bs222=bs(html,"html.parser")

        print bs222.prettify()

r.text 解码成文本

bs222.prettify()用来进行格式化输出


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值