数据解析beautifulsoup爬取百度新闻首页热点要闻并保存到数据库(学习内容)

该代码段展示了一个Python爬虫,它利用BeautifulSoup库从百度新闻网站抓取热门新闻的标题和链接。抓取的数据随后被存储到MySQL数据库中。爬虫首先设置User-Agent,然后使用requests获取网页,BeautifulSoup解析HTML,最后通过pymysql连接数据库并将数据插入到表中。

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

 

import requests

from bs4 import BeautifulSoup

import pymysql

def download(url):

    headers={

        "User-Agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/95.0.4638.54 Safari/537.36 Edg/95.0.1020.38"

        }

    response=requests.get(url,headers=headers)

    return response

# 解析网页

def bs(url):

    html_text=download(url)

    soup=BeautifulSoup(html_text.text,'lxml')

    newsList=soup.select('#pane-news .hotnews ul>li')

    allnews=[]

    for newstTag in newsList:

        news_dict={}

        #标题

        news_dict["title"]=newstTag.select('a')[0].get_text()

        #详情url

        news_dict["url"]=newstTag.select('a')[0].get('href')

        allnews.append(news_dict)

        print(allnews)

    return allnews

def get_config(host,user,password,db):

    db_config={

        'host':host,

        'user':user,

        'password':password,

        'db':db

    }

    return db_config

def getConn(allnews):

    db_config=get_config('localhost','root','admin','python')

    conn=pymysql.Connect(**db_config)

    cur=conn.cursor()

    for allnew in allnews:

        title=allnew['title']

        url=allnew['url']

        sql="INSERT INTO baidunews(title,url)VALUES("+"'"+title+"'"+","+"'"+url+"'"+")"

        cur.execute(sql)

    conn.commit()

    cur.close()

    conn.close()

    print("操作完成")

if __name__ == "__main__":

    url="http://news.baidu.com/"

    allnews=bs(url)

    getConn(allnews)

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值