(1)去中国国家统计网中国现在34个省区市所有的省-市-区-镇/乡名称,即行政区划最小到镇或乡村或农场一级。并将结果按各省或直辖市保存到文本文件中,每个省或直辖市一个文件。链接地址为:https://www.stats.gov.cn/tjsj/tjbz/tjyqhdmhcxhfdm/2017/index.html
(2)豆瓣网小说网页前10页所有小说的信息,包括每一部小说的如下信息(作者、小说名、
出版社、出版日期、价格、评分、评分人数、内容简介),并将这些信息存储到数据库中。数据库不限于sqlite,一部小说一条记录。最后需要实现查询某部小说信息的功能。网页地址为:https://book.douban.com/tag/小说
答:

(1)

import requests
import re
#爬源代码
root_url = 'http://www.stats.gov.cn/tjsj/tjbz/tjyqhdmhcxhfdm/2017/index.html'
def getHTML(url):headers = {'user-agent': 'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/78.0.3904.108 Safari/537.36'}r = requests.get(url, headers=headers)r.encoding = r.apparent_encodinghtml = r.textreturn html
html = getHTML(root_url)
#正则表达式
pattern ="<td><a href='(.+?)'>(.+?)<br/></a></td>"
p = re.compile(pattern)
new_link = p.findall(html)
new_url=[root_url[:root_url.rfind("/")+1]+item[0] for item in new_link]
new_text=[item[1] for item in new_link]
#爬取并写入文件
def Crawling(new_url,new_text):for i,a in zip(new_url, new_text):f = open(a + '.txt', 'w', encoding='utf-8')html = getHTML(i)pattern = "<tr class='citytr'><td><a href='.+?'>.+?</a></td><td><a href='(.+?)'>(.+?)</a></td>"p = re.compile(pattern)new_link = p.findall(html)new_url = [i[:i.rfind("/")+1]+ item[0] for item in new_link]new_text = [item[1] for item in new_link]for b in new_text:f.writelines(b+"\n")for i in new_url:html = getHTML(i)pattern =  "<tr class='countytr'><td><a href='.+?'>.+?</a></td><td><a href='(.+?)'>(.+?)</a></td>"p = re.compile(pattern)new_link = p.findall(html)new_url = [i[:i.rfind("/") + 1] + item[0] for item in new_link]new_text = [item[1] for item in new_link]for b in new_text:f.writelines(b + "\n")for i in new_url:html = getHTML(i)pattern = "<tr class='towntr'><td><a href='.+?'>.+?</a></td><td><a href='(.+?)'>(.+?)</a></td>"p = re.compile(pattern)new_link = p.findall(html)new_url = [i[:i.rfind("/") + 1] + item[0] for item in new_link]new_text = [item[1] for item in new_link]for b in new_text:f.writelines(b + "\n")for i in new_url:html = getHTML(i)pattern = "<tr class='villagetr'><td>.+?</td><td>.+?</td><td>(.+?)</td></tr>"p = re.compile(pattern)new_link = p.findall(html)for b in new_link:f.writelines(b + "\n")f.close()
#调用函数
Crawling(new_url,new_text)

import requests
import re
#爬源代码
root_url = 'http://www.stats.gov.cn/tjsj/tjbz/tjyqhdmhcxhfdm/2017/index.html'
def getHTML(url):
    headers = {
        'user-agent': 'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/78.0.3904.108 Safari/537.36'
    }
    r = requests.get(url, headers=headers)
    r.encoding = r.apparent_encoding
    html = r.text
    return html
html = getHTML(root_url)
#正则表达式
pattern ="<td><a href='(.+?)'>(.+?)<br/></a></td>"
p = re.compile(pattern)
new_link = p.findall(html)
new_url=[root_url[:root_url.rfind("/")+1]+item[0] for item in new_link]
new_text=[item[1] for item in new_link]
#爬取并写入文件
def Crawling(new_url,new_text):
    for i,a in zip(new_url, new_text):
        f = open(a + '.txt', 'w', encoding='utf-8')
        html = getHTML(i)
        pattern = "<tr class='citytr'><td><a href='.+?'>.+?</a></td><td><a href='(.+?)'>(.+?)</a></td>"
        p = re.compile(pattern)
        new_link = p.findall(html)
        new_url = [i[:i.rfind("/")+1]+ item[0] for item in new_link]
        new_text = [item[1] for item in new_link]
        for b in new_text:
            f.writelines(b+"\n")

for i in new_url:
            html = getHTML(i)
            pattern =  "<tr class='countytr'><td><a href='.+?'>.+?</a></td><td><a href='(.+?)'>(.+?)</a></td>"
            p = re.compile(pattern)
            new_link = p.findall(html)
            new_url = [i[:i.rfind("/") + 1] + item[0] for item in new_link]
            new_text = [item[1] for item in new_link]
            for b in new_text:
                f.writelines(b + "\n")
            for i in new_url:
                html = getHTML(i)
                pattern = "<tr class='towntr'><td><a href='.+?'>.+?</a></td><td><a href='(.+?)'>(.+?)</a></td>"
                p = re.compile(pattern)
                new_link = p.findall(html)
                new_url = [i[:i.rfind("/") + 1] + item[0] for item in new_link]
                new_text = [item[1] for item in new_link]
                for b in new_text:
                    f.writelines(b + "\n")
                for i in new_url:
                    html = getHTML(i)
                    pattern = "<tr class='villagetr'><td>.+?</td><td>.+?</td><td>(.+?)</td></tr>"
                    p = re.compile(pattern)
                    new_link = p.findall(html)
                    for b in new_link:
                        f.writelines(b + "\n")
        f.close()
#调用函数
Crawling(new_url,new_text)

(2)

#导入库
import requests
from bs4 import BeautifulSoup
import sqlite3#创建表
conn = sqlite3.connect('豆瓣.db')
sql_tables = "create table xiaoshuo(id INTEGER primary key autoincrement, title text, author text,score text, people text, content text )"
conn.execute(sql_tables)
conn.commit()#获取分页链接
root_url="https://book.douban.com/tag/%E5%B0%8F%E8%AF%B4"
headers = {'user-agent':'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/69.0.3947.100 Safari/537.36'}
html = requests.get(root_url,headers=headers).text
page_div = BeautifulSoup(html,"html.parser").select("div.paginator a")
root='https://book.douban.com'
page_urls = [root+item.attrs["href"] for item in page_div]
page_urls.append('https://book.douban.com/tag/%E5%B0%8F%E8%AF%B4')contents=[]
for url in page_urls:headers = {'User-Agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/89.0.4389.90 Safari/537.36'
}#获取每一页源代码html = requests.get(url,headers = headers).textbs = BeautifulSoup(html,'html.parser')# 获取个小说名title = [item.text.strip() for item in bs.select('h2')]# 获取每小说作者,出版社,日期,价格author = [item.text.strip() for item in bs.select('div.pub')]# 获取每个小说评分score = [item.text for item in bs.select('span.rating_nums')]# 获取每个小说人数people = [item.text.strip() for item in bs.select('span.pl')]# 获取每个小说内容content = [item.text for item in bs.select('div.info p')]contents.append(title+author+score+people+content)print("开始存入数据库....")
for index in enumerate(contents):for i in range(20):if (index==60 and i==4) or (index==140 and i==2) or index==140 and i==10:content.insert(i,'')sql = "insert into xiaoshuo values(null, '{}','{}','{}','{}','{}')".format(title[i],author[i],score[i],people[i],content[i])conn.execute(sql)conn.commit()
print("恭喜你,存储完毕")sql_select = 'select * from xiaoshuo'
cursor = conn.cursor()
cursor.execute(sql_select)
conn.commit()
result = cursor.fetchall()
print(result)sql = 'select title from xiaoshuo where title="活着"'
cursor = conn.cursor()
cursor.execute(sql)
conn.commit()
result = cursor.fetchall()

#导入库
import requests
from bs4 import BeautifulSoup
import sqlite3

#创建表
conn = sqlite3.connect('豆瓣.db')
sql_tables = "create table xiaoshuo(id INTEGER primary key autoincrement, title text, author text,score text, people text, content text )"
conn.execute(sql_tables)
conn.commit()

#获取分页链接
root_url="https://book.douban.com/tag/%E5%B0%8F%E8%AF%B4"
headers = {
    'user-agent':'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/69.0.3947.100 Safari/537.36'
    }
html = requests.get(root_url,headers=headers).text
page_div = BeautifulSoup(html,"html.parser").select("div.paginator a")
root='https://book.douban.com'
page_urls = [root+item.attrs["href"] for item in page_div]
page_urls.append('https://book.douban.com/tag/%E5%B0%8F%E8%AF%B4')

contents=[]
for url in page_urls:
    headers = {'User-Agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/89.0.4389.90 Safari/537.36'
}
    #获取每一页源代码
    html = requests.get(url,headers = headers).text
    bs = BeautifulSoup(html,'html.parser')
    # 获取个小说名
    title = [item.text.strip() for item in bs.select('h2')]
    # 获取每小说作者,出版社,日期,价格
    author = [item.text.strip() for item in bs.select('div.pub')]
    # 获取每个小说评分
    score = [item.text for item in bs.select('span.rating_nums')]
    # 获取每个小说人数
    people = [item.text.strip() for item in bs.select('span.pl')]
    # 获取每个小说内容
    content = [item.text for item in bs.select('div.info p')]
    contents.append(title+author+score+people+content)

print("开始存入数据库....")
for index in enumerate(contents):
     for i in range(20):
        if (index==60 and i==4) or (index==140 and i==2) or index==140 and i==10:
            content.insert(i,'')
        sql = "insert into xiaoshuo values(null, '{}','{}','{}','{}','{}')".format(title[i],author[i],score[i],people[i],content[i])
        conn.execute(sql)
        conn.commit()
print("恭喜你,存储完毕")

sql_select = 'select * from xiaoshuo'
cursor = conn.cursor()
cursor.execute(sql_select)
conn.commit()
result = cursor.fetchall()
print(result)

sql = 'select title from xiaoshuo where title="活着"'
cursor = conn.cursor()
cursor.execute(sql)
conn.commit()
result = cursor.fetchall()

19106225贾奎滢相关推荐

  1. 国内外优秀的计算机视觉团队汇总|持续更新

    本帖还在更新中,国内外优秀的计算机视觉团队有很多,我这里只是列举了自己从知乎.CSDN等网站上收集到的,排名不分先后,如有遗漏,还请谅解.同时欢迎小伙伴回帖补充,我会更新到本帖,谢谢~ 感谢极市平台微 ...

  2. CVPR 2022 | 华南理工提出VISTA:双跨视角空间注意力机制实现3D目标检测SOTA

    ©作者 | 邓圣衡.梁智灏.孙林.贾奎 来源 | 机器之心 本文提出了 VISTA,一种新颖的即插即用多视角融合策略,用于准确的 3D 对象检测.为了使 VISTA 能够关注特定目标而不是一般点,研究 ...

  3. 《巫师 3:狂猎》:传统叙事在开放世界中的水土不服

    鉴于我并没有去关注当时<巫师3>的宣发过程(因为对于这个系列我是"出必入",所以没有关心宣发--),我对这个游戏所拥有的热度感到有点惊讶.我是从初代就开始玩起了,在二代 ...

  4. LINQ的Java等效项是什么? [关闭]

    LINQ的Java等效项是什么? #1楼 听起来每个人都在谈论的Linq只是LinqToObjects. 我认为,这些功能仅提供了Java现在已经可以完成的功能,但是语法却非常丑陋. 我看到的.net ...

  5. 直播预告 | 华南理工实验室专场二

    点击蓝字 关注我们 AI TIME欢迎每一位AI爱好者的加入! 4月30日晚7:30-9:00 AI TIME特别邀请了三位优秀的讲者跟大家共同开启华南理工-几何感知与智能实验室专场二! 哔哩哔哩直播 ...

  6. AI TIME PhD实验室专场,四月隆重登场!

    点击蓝字 关注我们 AI TIME欢迎每一位AI爱好者的加入! 2021年3月31-4月30日,AI TIME 联合AMiner,邀请了浙江大学CAD&CG实验室三维视觉课题组.哈尔滨工业大学 ...

  7. 最佳化三维建模与重构中的神经网络先验

    点击蓝字 关注我们 AI TIME欢迎每一位AI爱好者的加入! 今日视频推荐 讲者介绍 杨明玥: 本科毕业于华南理工大学,目前在华南理工大学几何感知与智能实验室就读硕士一年级,导师为贾奎教授.研究兴趣 ...

  8. 非监督多类域适应:理论,算法和实践

    点击蓝字 关注我们 AI TIME欢迎每一位AI爱好者的加入! 『今日视频推荐』 非监督多类域适应(UDA)是机器学习和迁移学习下的研究领域,它的任务是解决现实应用中源域和目标域之间存在差异的问题.本 ...

  9. 对抗鲁棒性使得神经网络又强又怂

    AI TIME欢迎每一位AI爱好者的加入! 对抗样本的存在表明现代神经网络是相当脆弱的. 为解决这一问题,研究者相继提出了许多方法,其中使用对抗样本进行训练被认为是至今最有效的方法之一. 然而,经过对 ...

最新文章

  1. dos系统不能安装python模块,无法使用pip命令安装python第三方库的原因及解决方法...
  2. 对C语言 结构数组 指向结构变量的指针 指向结构数组的指针
  3. 计算机视觉与深度学习算法工程师面试题整理
  4. java如何将数据保存为xml6_用Java实现可保存状态的数据库生成XML树,源码来了(9)...
  5. 美国爆料:量子计算机将如何颠覆一切?
  6. 远程桌面--------ms12-020 漏洞复现 (死亡蓝屏)
  7. 【Kafka】【未解决】kafka反序列化数据报错jackson2 JsonParseException: Invalid UTF-8 middle byte 0xc0
  8. Java并发编程-常用的辅助类
  9. python 获取excel文本框_简单使用python做excel多文件批量搜索(带图形界面)(已更新)...
  10. MySQL数据库中的删除命令:delete、truncate、drop
  11. 相继平均法matlab代码_matlab实现不同平均数的求法
  12. 数据结构——第十章 排序
  13. 稀缺-我们是如何陷入贫穷与忙碌的 读后感
  14. 项亮《推荐系统实践》读书笔记1-推荐系统评价指标
  15. FSR402压力传感器数据转换
  16. 《数值分析》-- 复化求积公式
  17. 数据库Mysql:存储过程(PROCEDURE )函数(FUNCTION)
  18. WordPress建站主机推荐
  19. 通俗易懂学Docker
  20. iMAC——全新重装Mac系统

热门文章

  1. Excel表格怎么转PDF?这两种途径都可以
  2. 22-04-23 西安 javaSE(14)文件流、缓冲流、转换流、对象流、标准流、关闭IO资源的封装类IOUtils(纳命来)
  3. Python开发环境Spyder3安装方法
  4. 亚马逊买家秀视频怎么上传?上传买家秀视频的作用是什么
  5. 那个“炫酷狂拽”的数据可视化利器AntV 11.22版全新发布啦
  6. 易语言大漠前台切换多开模板教程
  7. MKR:协同过滤算法效果不佳,知识图谱来帮忙
  8. CGAffineTransform 视频旋转(转)
  9. 程序员是要专精,还是要广度?
  10. 合肥市直计算机知识pdf,事业单位计算机专业知识整理(全)-20210419115129.pdf-原创力文档...