1.python爬虫学习——通知消息提取

刚学完python基础知识,但在兼职时被让去关注某些网页消息,抄抄补补尝试写了个爬虫。可是只能爬某一个网页,因为不同网址,属性不一样,我只好针对着来写。后面再看看有没有什么好的改进办法。

def getnews(src):
    base_url = re.search(".+\.cn",src).group()
    
    headers = {'User-Agent': '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'}
    #有的会拒绝访问
    html = request.Request(src,headers=headers)
    html = request.urlopen(html).read().decode('utf-8')#网页原始编码格式
    
    soup = BeautifulSoup(html,features='lxml')
    url_h = soup.find_all(attrs="ncother",\
                          text = re.compile(datetime.datetime.now().strftime('%Y-%m-20')))#获取今日日期,当然,可以改的
     for i in range(0,len(url_h)):
        url = url_h[i]
        url =  url.previous_sibling.previous_sibling#得到网址前半部
        title = url.a["title"]
        url = base_url+url.a["href"]#得到地址

        with open('C:\\Users\\user\\Desktop\\0721.txt', 'a',encoding='utf-8') as f:##注意编码方式
            f.write(url)
            f.write('\n')
            f.write(title)
            f.write('\n\n')

getnews("http://cdst.gov.cn/Type.asp?TypeID=47&BigClassID=181")#address[0]

7-23

今天试了分别处理的方式爬多个网站。大概的样子出来了,虽然还有很多改进的,就先这样吧。后面再改。

功能:爬取政府网站通知列表当天消息,保存title和网址到txt中。

from urllib import error
from urllib import req
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值