爬取周公解梦数据(二)

爬取周公解梦更多数据

具体解析参考爬取周公解梦数据(一)

效果

在这里插入图片描述

贴所有代码

import json
import requests
import time
from bs4 import BeautifulSoup
import pymysql
def add_data(url,title,type_name):
    headers = {
        "User-Agent": 'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/63.0.3239.132 Safari/537.36'
    }
    # json_data = requests.get(url, params=form_data, headers=headers).json()
    try:
        json_data = requests.get(url)
        html=json_data.content
        
        html_doc = str(html,'utf-8')
        soup = BeautifulSoup(html_doc,"lxml")
        content = soup.find(class_='article-content')

        title = soup.find(class_='article-title')

        cur.execute("insert into dream(type,title,content,index_type) VALUES ('"+type_name+"','"+str(title.string)+"','"+str(content.text)+"',0)")
    except UnicodeDecodeError as err:
        print(title,"Unicodeerror")
        pass
    
def down_meng():
    url = 'https://www.zgjm.net'
    arr={0:'/b/renwu/',1:'/b/dongwu/',2:'/b/zhiwu/',3:'/b/wupin/',4:'/b/huodong/',5:'/b/qinggan/',6:'/b/shenghuo/',7:'/b/guishen/',8:'/b/ziran/',9:'/b/jianzhu/',10:'/b/qita/'}
    headers = {
        "User-Agent": 'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/63.0.3239.132 Safari/537.36'
    }
    arr_type = {0:"人物",1:"动物",2:"植物",3:"物品",4:"活动",5:"情感",6:"生活",7:"鬼神",8:"自然",9:"建筑",10:"其他"}
    for key in arr:
        for i in range(1,50):
            target_url = url+str(arr[key])+"index_"+str(i)+".html"
            headers = {
                "User-Agent": 'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/63.0.3239.132 Safari/537.36'
            }
            try:
                json_data = requests.get(target_url)
                html=json_data.content
                html_doc = str(html,'utf-8')
                soup = BeautifulSoup(html_doc,"lxml")
                li_list = soup.find(class_='postitemot')
                for lilist in li_list:
                    add_data(url+lilist.a['href'],lilist.a.string,arr_type[key])
                    print(lilist.a.string,"完成")
            except UnicodeDecodeError as err:
                print(target_url,"Unicodeerror")
                pass
            except TypeError as err:
                print(target_url,"Unicodeerror")
                pass
        print(arr_type[key],"完成")
        conn.commit()
        time.sleep(3)

if __name__ == '__main__':
    conn = pymysql.connect(host=ip,port=port,user='root',passwd='',db='',charset='utf8mb4')
    # print(conn)
    cur = conn.cursor()
    down_meng()
    # arr = {0:"人物",1:"动物",2:"植物",3:"物品",4:"活动",5:"情感",6:"生活",7:"鬼神",8:"自然",9:"建筑",10:"其他"}
    # add_data('https://www.zgjm.net/b/4053/','aa',arr[0])

    cur.close()
    conn.close()
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值