爬虫入门到放弃(三) 爬取格言网并储存到数据库

代码送上,请各位点下关注,本人也会持续更新各种技术

# -*- coding:utf-8 -*-
from bs4 import BeautifulSoup
import requests
import pymysql
#定义目标网站url
url='https://www.geyanw.com/'
# #编写模拟浏览器获取
headers = {'User-Agent':'Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.64 Safari/537.11',
           'Accept':'text/html;q=0.9,*/*;q=0.8',
           'Accept-Charset':'ISO-8859-1,utf-8;q=0.7,*;q=0.3',
           'Accept-Encoding':'gzip',
           'Connection':'close',
           'Referer':None #注意如果依然不能抓取的话,这里可以设置抓取网站的host
}
html=requests.get(url,headers=headers,).content.decode('gbk')

#创建BeautifulSoup对象
soup=BeautifulSoup(html,'lxml')
#将HTML的实例转换成Unicode编码,打印soup对象内容,格式化输出.
dd_div_list = soup.find_all({"dd"})
#找出soup中所有的dd标签写成列表
for dd_div in dd_div_list:
    #遍历获得每个dd标签
    li_div_list=dd_div.find_all({'li'})
    #找出dd_div中的li标签
    for li_div in li_div_list:
        #遍历获取每个li标签
        a_div_list=li_div.find_all({"a"})
        #找出li_div标签中的a标签
        for a_div in a_div_list:
            #遍历出a标签
            geyan_urls=url+a_div["href"]
            #找出a标签href拼接得到详情页的URL
            geyan_name=a_div["title"]
            #定义a标签的title为名字
            conn = pymysql.connect(host='127.0.0.1', port=3306, db='geyan', user='root', passwd='root')
            #定义数据库
            with conn.cursor() as cursor:
                sql = 'INSERT INTO geyan_xiangqing(name,urls) VALUES (%s,%s)'
                #写原生sql语句
                cursor.execute(sql,(geyan_name,geyan_urls))
                #插入数据
                conn.commit()
                #调用数据库
            print(geyan_urls)
            #输出URL
            print(geyan_name)
            #输出名字

详情如下:在这里插入图片描述
虽然写的不正规我也会多多改正,并且这个数据量较少.

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值