python爬取数据保存入库

本文介绍了一个Python爬虫程序,该程序从今日头条网站抓取最新文章的URL、标题及作者邮箱,并将这些数据存储到MySQL数据库中。通过正则表达式解析网页内容并提取所需信息。

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

import urllib2

import re

import MySQLdb

class LatestTest:
    #初始化
    def __init__(self):
        self.url="https://toutiao.io/latest"
        self.UserAgent='Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/48.0.2564.97 Safari/537.36'
        self.header={'User-Agent':self.UserAgent}
        
    #获取URL、标题、邮箱 保存到list
    def getDate(self):
        
        request=urllib2.Request(self.url,headers=self.header)
        respone=urllib2.urlopen(request).read()
        #print respone
        content=re.compile(r'<div class="post">.*?class="title">.*?href="(.*?)">(.*?)</a>.*?<div class="meta">.*?<span>(.*?)</span>',re.S)
        urls=re.findall(content,respone)
        namelist=[]

        for url in urls:
                #print url[0],url[1],url[2]
            namelist.append([url[0].strip(),url[1].strip(),url[2].strip()])
            if len(namelist)>=10:
                break
        
        return namelist
    #保存数据到mysql数据库
    def savaDateMysql(self,url,title,email):
        sql="insert into content(url,title,email)values('%s','%s','%s')" %(url,title,email)
        try: 
            
            conn=MySQLdb.connect('192.168.200.23','root','g6s8m3t7s','mysql',charset='utf8')
            cursor=conn.cursor()
           # cursor.execute('create table IF NOT EXISTS content(id int AUTO_INCREMENT PRIMARY KEY,url varchar(100),title varchar(100),email varchar(100))')
            #cursor.execute('drop table IF EXISTS content')
            cursor.execute(sql)
            conn.commit()
        except Exception,e:
            print e
        finally:
            conn.close()


if __name__=='__main__':
    lat=LatestTest()    
    contentlist=lat.getDate()
    try:
        for tent in contentlist:
            url=tent[0].strip()
            title=tent[1].strip()
            email=tent[2].strip()
            print url,title,email
            lat.savaDateMysql(url,title,email)
    except Exception,e:
        print e

    

 

转载于:https://www.cnblogs.com/be-come/p/6251073.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值