爬取书趣阁小说

article/2025/9/9 8:00:07

这次将介绍如何爬取自己喜欢的小说,以及爬取过程中如何处理具有乱码的网页,以及如何去解码及封装代码

目标网址:http://www.shuquge.com/

爬取书趣阁小说

        • 1.分析网页
          • (1) 分析网页
          • (2) 审查网页代码
          • (3) 请求网页内容
          • (4) 对网页内容进行解码
        • 2.换一个小说进行爬取
          • (1)请求内容并解码输出
          • (2)提取小说标题
          • (3)提取小说内容
          • (4)拼接及替换小说内容
        • 3.保存内容
          • (1)with方法保存爬取内容为txt文件
          • (2)绝对路径保存文件到桌面
          • (3)加号方法保存文件到桌面
          • (4)封装方法保存文件
          • (5)使用封装方法爬取并保存第二章
          • (6)添加主函数爬取并保存第三章
        • 4.取所有章节链接
          • (1)分析链接特点
          • (2)开始取所有链接
          • (3)构造完整链接
          • (4)打包所有完整链接并求个数
          • (5)将获取章节链接的代码封装
          • (6)获取所有章节小说内容

1.分析网页

以爬取书趣阁网站上的小说《傲世九重天》为例

(1) 分析网页
  • 打开网站,搜索到该小说如下:
    在这里插入图片描述接下来查看小说第一章的链接为:
http://www.shuquge.com/txt/55040/8416285.html

在这里插入图片描述小说第二章的链接为:

http://www.shuquge.com/txt/55040/8416286.html

在这里插入图片描述小说第三章的链接为:

http://www.shuquge.com/txt/55040/8416287.html

在这里插入图片描述

  • 对比第一、二、三章的网页链接:
http://www.shuquge.com/txt/55040/8416285.html
http://www.shuquge.com/txt/55040/8416286.html
http://www.shuquge.com/txt/55040/8416287.html

可以发现,第一、二、三章的网页链接只有结尾部分的数字不一样:
在这里插入图片描述

(2) 审查网页代码

以小说第一章为例:

  • 右击检查网页代码
    在这里插入图片描述点击上图中所说的三个点,就会显示出第一章小说的文本内容:
    在这里插入图片描述
(3) 请求网页内容
  • 导入库,开始请求网页返回内容
import requests             #导入库
from lxml import etree      #导入库
#复制第一章网页地址
target_url="http://www.shuquge.com/txt/55040/8416285.html"             
requests.get(url=target_url)    #请求第一章网页内容

运行结果:
在这里插入图片描述
请求网页内容成功,要注意此处复制的网页链接为第一章所在网页的顶端链接:
在这里插入图片描述因为该网页上我们没有遇到反爬虫程序,所以才可以在没有设置浏览器代理的情况下顺利返回网页信息,如果遇到反爬虫程序,我们就要设置浏览器代理才可以顺利返回网页信息

  • 给返回内容赋值并以.text的文本格式输出
import requests                 #导入库
from lxml import etree          #导入库
#复制第一章网页地址
target_url="http://www.shuquge.com/txt/55040/8416285.html"             
response=requests.get(url=target_url)                              #请求第一章网页内容,并将返回值赋给response
print(response.text)         #将response以文本格式输出

运行结果:
在这里插入图片描述可以发现,我们输出的内容中,小说的文本部分显示的是乱码,而1.(2)审查代码中原网页上显示的文本部分就是小说的文本内容,所以我们接下来要做的就是对请求返回的网页内容response还没输出为文本之前进行解码

(4) 对网页内容进行解码

因为要对请求返回的网页内容response还没输出为文本之前进行解码,即先解码,再输出文本才不是乱码
实质上还是对response进行解码

  • 知识拓展:常见编码方式:
    utf-8utf-8-siggbk
    此处我们将使用一个较为万能的解码方式:
    apparent_encoding
    使用这个解码方式,它会在不需提示我们需要什么类型的信息的条件下,自动解码出我们所要的信息,但需要注意的是,虽说是万能解码方式,但成功率只有90%
  • 对第一章小说进行解码
#解码
#对乱码response的内容进行解码,response.encoding为response解码后的名字,.apparent_encoding 为引用万能解码函数
response.encoding=response.apparent_encoding        
print(response.text)  #将解码后的response的内容response.encoding以文本格式输出

运行结果:
在这里插入图片描述从解码后的结果来看,乱码部分已经显示为了文字,但通过复制原网页中第一章的小说内容,再利用Ctrl+f键来到运行结果中查找小说内容,并没有查找到小说内容,此时我们考虑设置浏览器代理

  • 设置浏览器代理
    查找浏览器代理步骤:
    在这里插入图片描述代码及运行结果:
#添加浏览器代理
headers = {"User-Agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/81.0.4044.113 Safari/537.36"
}

运行结果和未添加浏览器代理时一样,通过查找还是没有显示小说文本内容,我们再考虑在设置浏览器代理的位置添加一个防盗链

  • 添加防盗链
    添加时同样遵循同时设置两个字典时,两个字典中间要用逗号分隔的语法
    查找防盗链:
    在这里插入图片描述代码及运行结果:
#添加浏览器代理及防盗链
headers = {"Referer":"http://www.shuquge.com/txt/55040/index.html","User-Agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/81.0.4044.113 Safari/537.36"
}

运行结果和未添加防盗链时一样,通过查找还是没有显示小说文本内容,代码无错,就可能是网页本身的问题,所以我们将以同样的代码爬取该网站上的另一个小说

2.换一个小说进行爬取

以书趣阁网站中的另一个小说《天域苍穹》为例

(1)请求内容并解码输出

请求网页为小说《天域苍穹》的第一章
代码及运行结果如下:

#换一个小说后
import requests      
url="http://www.shuquge.com/txt/514/363448.html" #天域苍穹第一章链接
response=requests.get(url)  #请求第一章网页内容,并将返回值赋给response
response.encoding=response.apparent_encoding    #将解码后的response的内容赋值给response.encoding
response.text  #将response.encoding以文本格式输出

运行结果:
在这里插入图片描述请求内容并解码输出《天域苍穹》第一章内容成功,接下来我们将对小说内容进行提取

(2)提取小说标题
  • 导入库,提取并解析筛取信息
#提取信息
from lxml import etree   
#解析筛取信息
etree_html=etree.HTML(response.text)

代码没有报错,提取并解析筛取信息成功

  • 提取第一章小说标题
    复制第一章小说标题xpath路径
    在这里插入图片描述代码及运行结果如下:
#提取信息
from lxml import etree   
#解析筛取信息
etree_html=etree.HTML(response.text)
#提取第一章小说标题,/text()不是xpath路径组成部分,意为将内容输出为文本格式
title=etree_html.xpath('//*[@id="wrapper"]/div[4]/div[2]/h1/text()')
print(title)

运行结果:
在这里插入图片描述

(3)提取小说内容

仍然使用xpath方式
寻找小说内容所在标签:
选中第一章的所有小说内容,右击检查,会显示出小说内容所在标签,右击copy,再copy xpath即可
在这里插入图片描述代码及运行结果如下:

#提取第一章小说内容
etree_html.xpath('//*[@id="content"]/text()')

可以在将xpath路径加一个/,使查找结果更为准确,可改可不改,即改为

#提取第一章小说内容
etree_html.xpath('//*[@id="content"]//text()')

运行结果:
在这里插入图片描述此时小说内容为数组,为了方便保存,我们要将它拼接为字符串

(4)拼接及替换小说内容
  • 给提取的小说内容赋值,并拼接为字符串
    代码及运行结果如下:
#提取第一章小说内容
content=etree_html.xpath('//*[@id="content"]/text()')  #现还为数组
"".join(content)              #拼接为字符串

运行结果:
在这里插入图片描述运行结果中,小说内容文本中存在一些多余标签,我们可使用替换功能将其去除

  • 替换多余标签
    代码及运行结果如下:
"".join(content).replace("\r\r\xa0\xa0\xa0\xa0","")              #拼接为字符串,替换多余标签

运行结果:
在这里插入图片描述

3.保存内容

(1)with方法保存爬取内容为txt文件

由于我们替换掉的多余标签\r\r\xa0\xa0\xa0\xa0在文本中起到换行的作用,所以保存文件时我们将撤销对它的替换函数
代码及运行结果如下:

#保存文件
#创建文件并打开
with open('.第一章 若得来生重倚剑,屠尽奸邪笑苍天.txt','a',encoding='utf-8')as file: file.write(text) #放进去内容,写入
file.close()#写入后关闭文件

运行结果:
在这里插入图片描述
保存内容文件夹及其内容:
在这里插入图片描述在这里插入图片描述

(2)绝对路径保存文件到桌面

3.(1)的保存方法中,文件路径为相对路径,而我们可以使用绝对路径将文件直接保存到桌面

  • 现在桌面新建一个文件夹,并将其路径复制下来,用于构造绝对路径
    在这里插入图片描述要复制的路径为:C:\Users\ASUS\Desktop\桌面小说
  • 使用绝对路径保存文件到桌面
    代码及运行结果如下:
#保存文件
#创建文件并打开,r表示原意,\表示转义字符
with open(r'C:\Users\ASUS\Desktop\桌面小说\第一章 若得来生重倚剑,屠尽奸邪笑苍天.txt','a',encoding='utf-8')as file: file.write(text) #放进去内容,写入
file.close()#写入后关闭文件

运行结果:
在这里插入图片描述
桌面文件保存情况:
在这里插入图片描述

(3)加号方法保存文件到桌面

可以以另一种方式构造保存文件到桌面时的路径,此处为了看出运行效果,可将上一步保存在文件夹桌面小说中的.txt文件先删除
代码及运行结果如下:

#保存文件
#创建文件并打开,r表示原意,\表示转义字符
filePath=r"C:\Users\ASUS\Desktop\桌面小说\\"         #将绝对路径前半部分拿出来with open(filePath+title[0]+'.txt','a',encoding='utf-8')as file: file.write(text) #放进去内容,写入
file.close()#写入后关闭文件

运行结果:
在这里插入图片描述
桌面文件保存情况:
在这里插入图片描述

  • 何时使用相对路径?何时使用绝对路径?
    使用相对路径:将文件保存在当前目录中,即打开控制台之前新建的文件夹中
    使用绝对路径:保存文件到当前路径之外的地方
    具体使用哪一种路径来保存看个人需求来定
(4)封装方法保存文件

所谓封装,就是把能实现某个功能的代码用一个函数封装起来,这样做可以便于我们再想要实现这部分代码的功能时,直接引用它的封装名,而不需要自己再去写一遍代码

  • 下面我们将使用封装函数将解析并保存小说内容部分的代码封装起来,并用封装名打开它来实现保存文件内容的目的(仍以保存到桌面为例,需要上一步保存的先删除)
    关键语句:
    封装函数:def download_text():
    调用封装函数时(解封):download_text()
    download_text()为自己命名的封装函数名
    代码及运行结果如下:
#提取信息
from lxml import etree  
def download_text():   #封装到 file.close()#解析筛取信息etree_html=etree.HTML(response.text)#提取第一章小说标题,/text()不是xpath路径组成部分,意为将内容输出为文本格式title=etree_html.xpath('//*[@id="wrapper"]/div[4]/div[2]/h1/text()')print(title)#提取第一章小说内容content=etree_html.xpath('//*[@id="content"]/text()')  #现还为数组#"".join(content).replace("\r\r\xa0\xa0\xa0\xa0","")              #拼接为字符串,替换多余标签text="".join(content)            #拼接为字符串,多余标签\r\n为换行作用#保存文件#创建文件并打开,r表示原意,\表示转义字符filePath=r"C:\Users\ASUS\Desktop\桌面小说\\"         #将绝对路径前半部分拿出来with open(filePath+title[0]+'.txt','a',encoding='utf-8')as file: file.write(text) #放进去内容,写入file.close()#写入后关闭文件
download_text()

运行结果:
在这里插入图片描述
打开桌面文件夹:
在这里插入图片描述文件内容:
在这里插入图片描述

  • 将要爬取得网页链接带入封装方法中
    代码及运行结果如下:
#提取信息
from lxml import etree  def download_text(url):   #封装到 file.close()#请求网页内容并解码 response=requests.get(url)                      #请求第一章网页内容,并将返回值赋给responseresponse.encoding=response.apparent_encoding    #将解码后的response的内容赋值给response.encoding      #解析筛取信息etree_html=etree.HTML(response.text)#提取第一章小说标题,/text()不是xpath路径组成部分,意为将内容输出为文本格式title=etree_html.xpath('//*[@id="wrapper"]/div[4]/div[2]/h1/text()')print(title)#提取第一章小说内容content=etree_html.xpath('//*[@id="content"]/text()')  #现还为数组#"".join(content).replace("\r\r\xa0\xa0\xa0\xa0","")              #拼接为字符串,替换多余标签text="".join(content)            #拼接为字符串,多余标签\r\n为换行作用#保存文件#创建文件并打开,r表示原意,\表示转义字符filePath=r"C:\Users\ASUS\Desktop\桌面小说\\"         #将绝对路径前半部分拿出来with open(filePath+title[0]+'.txt','a',encoding='utf-8')as file: file.write(text) #放进去内容,写入file.close()#写入后关闭文件
target_url="http://www.shuquge.com/txt/514/363448.html"   #天域苍穹第一章链接
download_text(target_url) #打开方法时连着页面的链接

链接的传递过程:
在这里插入图片描述运行结果和之前保存文件的一样

(5)使用封装方法爬取并保存第二章

使用封装方法爬取并保存第二章,只需要上一步中的target_url改为第二章的链接即可

#天域苍穹第二章链接
target_url="http://www.shuquge.com/txt/514/363449.html"   

运行结果如下:
在这里插入图片描述
打开桌面文件夹第二章及其内容:
在这里插入图片描述在这里插入图片描述

(6)添加主函数爬取并保存第三章

target_url改为第三章的链接,再在关闭文件的下方写一个mian主函数,同样可以爬取并保存第三章
代码及运行结果如下:

#提取信息
from lxml import etree  def download_text(url):   #封装到 file.close()#请求网页内容并解码 response=requests.get(url)                      #请求第三章网页内容,并将返回值赋给responseresponse.encoding=response.apparent_encoding    #将解码后的response的内容赋值给response.encoding      #解析筛取信息etree_html=etree.HTML(response.text)#提取第一章小说标题,/text()不是xpath路径组成部分,意为将内容输出为文本格式title=etree_html.xpath('//*[@id="wrapper"]/div[4]/div[2]/h1/text()')print(title)#提取第一章小说内容content=etree_html.xpath('//*[@id="content"]/text()')  #现还为数组#"".join(content).replace("\r\r\xa0\xa0\xa0\xa0","")              #拼接为字符串,替换多余标签text="".join(content)            #拼接为字符串,多余标签\r\n为换行作用#保存文件#创建文件并打开,r表示原意,\表示转义字符filePath=r"C:\Users\ASUS\Desktop\桌面小说\\"         #将绝对路径前半部分拿出来with open(filePath+title[0]+'.txt','a',encoding='utf-8')as file: file.write(text) #放进去内容,写入file.close()#写入后关闭文件if __name__=='__main__':  #添加主函数target_url="http://www.shuquge.com/txt/514/363450.html"   #天域苍穹第三章链接download_text(target_url)      #打开方法时连着页面的链接

运行结果:
在这里插入图片描述
打开桌面文件夹第三章及其内容:
在这里插入图片描述在这里插入图片描述

4.取所有章节链接

(1)分析链接特点

打开第一章,右击检查代码,可以发现其网页链接如下:
在这里插入图片描述所以接下来我们在请求小说首页给我们返回内容时,只要包含有所有章节的这种类型的链接即可,有乱码页不影响

  • 取所有章节链接代码及运行结果如下:
#取所有章节链接
index_url="http://www.shuquge.com/txt/514/index.html"  #小说首页链接
index_html=requests.get(index_url).text #在小说首页请求所有链接的内容以文本格式输出
index_html  #输出小说首页所有连接的内容

运行结果:
在这里插入图片描述其中有乱码,但只要我们需要的每一章小说的链接不是乱码即可

(2)开始取所有链接

分析所有章节的xpath路径:
第一章:

/html/body/div[5]/dl/dd[13]/a

第二章:

/html/body/div[5]/dl/dd[14]/a

第三章:

/html/body/div[5]/dl/dd[15]/a

对比三个链接可以发现,不同的部分有:
在这里插入图片描述
前三章的xpath路径是这样,说明面的章节xpath路径变化规律也是一样的,而我们可以根据这个不同的地方将xpath路径分为前后两段,以此来循环出所有章节的链接
代码及运行结果如下:

#取所有章节链接
index_url="http://www.shuquge.com/txt/514/index.html"  #小说首页链接
index_html=requests.get(index_url).text
index_etree=etree.HTML(index_html)  #提取内容
#用标签分段取链接
dd=index_etree.xpath('/html/body/div[5]/dl/dd')      #写的是所有章节xpath路径写的是的前半部分的相同部分
for item in dd:href=item.xpath('./a/@href')       #写的是所有章节xpath路径写的是的后半部分的相同部分,@href意为返回内容为链接print(href)  

运行结果:
在这里插入图片描述

(3)构造完整链接

上一步中我们将章节的链接都拿了出来,但它们不是完整的链接,不可以电机后直接访问到相应章节的小说内容,所以我们将把链接缺失的部分补上
代码及运行结果如下:

#取所有章节链接
index_url="http://www.shuquge.com/txt/514/index.html"  #小说首页链接
index_html=requests.get(index_url).text
index_etree=etree.HTML(index_html)  #提取内容
#用标签分段取链接
dd=index_etree.xpath('/html/body/div[5]/dl/dd')      #写的是所有章节xpath路径写的是的前半部分的相同部分
for item in dd:#构造完整链接href="http://www.shuquge.com/txt/514/"+item.xpath('./a/@href')[0]       #写的是所有章节xpath路径写的是的后半部分的相同部分,@href意为返回内容为链接print(href)   

运行结果:
在这里插入图片描述

(4)打包所有完整链接并求个数

代码及运行结果如下:

#取所有章节链接
index_url="http://www.shuquge.com/txt/514/index.html"  #小说首页链接
index_html=requests.get(index_url).text
index_etree=etree.HTML(index_html)  #提取内容
#用标签分段取链接
dd=index_etree.xpath('/html/body/div[5]/dl/dd')      #写的是所有章节xpath路径写的是的前半部分的相同部分
link_list=[]#打包所有链接
for item in dd:#构造完整链接href="http://www.shuquge.com/txt/514/"+item.xpath('./a/@href')[0]       #写的是所有章节xpath路径写的是的后半部分的相同部分,@href意为返回内容为链接link_list.append(href)      #每输出一个链接,便追加到 link_list中
print(link_list)     

运行结果:
在这里插入图片描述

  • 求链接的个数,使用len()函数即可
    代码及运行结果如下:
print(len(link_list))

运行结果:
在这里插入图片描述

(5)将获取章节链接的代码封装

代码及运行结果如下:

#提取信息
from lxml import etree  def download_text(url):   #封装到 file.close()#请求网页内容并解码 response=requests.get(url)                      #请求第三章网页内容,并将返回值赋给responseresponse.encoding=response.apparent_encoding    #将解码后的response的内容赋值给response.encoding      #解析筛取信息etree_html=etree.HTML(response.text)#提取第一章小说标题,/text()不是xpath路径组成部分,意为将内容输出为文本格式title=etree_html.xpath('//*[@id="wrapper"]/div[4]/div[2]/h1/text()')print(title)#提取第一章小说内容content=etree_html.xpath('//*[@id="content"]/text()')  #现还为数组#"".join(content).replace("\r\r\xa0\xa0\xa0\xa0","")              #拼接为字符串,替换多余标签text="".join(content)            #拼接为字符串,多余标签\r\n为换行作用#保存文件#创建文件并打开,r表示原意,\表示转义字符filePath=r"C:\Users\ASUS\Desktop\桌面小说\\"         #将绝对路径前半部分拿出来with open(filePath+title[0]+'.txt','a',encoding='utf-8')as file: file.write(text) #放进去内容,写入file.close()#写入后关闭文件#封装获取所有链接的代码    
def get_link(index_url):index_html=requests.get(index_url).textindex_etree=etree.HTML(index_html)  #提取内容#用标签分段取链接dd=index_etree.xpath('/html/body/div[5]/dl/dd')      #写的是所有章节xpath路径写的是的前半部分的相同部分link_list=[]#打包所有链接for item in dd:#构造完整链接href="http://www.shuquge.com/txt/514/"+item.xpath('./a/@href')[0]       #写的是所有章节xpath路径写的是的后半部分的相同部分,@href意为返回内容为链接link_list.append(href)      #每输出一个链接,便追加到 link_list中return link_list     #返回的东西,我要带走的if __name__=='__main__':   #添加主函数index_url="http://www.shuquge.com/txt/514/index.html"  #小说首页链接links=get_link(index_url)print(links)
#     target_url="http://www.shuquge.com/txt/514/363450.html"   #天域苍穹第三章链接
#     download_text(target_url)              #打开方法时连着页面的链接

运行结果:
在这里插入图片描述

(6)获取所有章节小说内容

写一个循环,将所有链接爬取到
改动部分代码为:
在这里插入图片描述完整运行代码及结果为:

#提取信息
from lxml import etree  def download_text(url):   #封装到 file.close()#请求网页内容并解码 response=requests.get(url)                      #请求第三章网页内容,并将返回值赋给responseresponse.encoding=response.apparent_encoding    #将解码后的response的内容赋值给response.encoding      #解析筛取信息etree_html=etree.HTML(response.text)#提取第一章小说标题,/text()不是xpath路径组成部分,意为将内容输出为文本格式title=etree_html.xpath('//*[@id="wrapper"]/div[4]/div[2]/h1/text()')print(title)#提取第一章小说内容content=etree_html.xpath('//*[@id="content"]/text()')  #现还为数组#"".join(content).replace("\r\r\xa0\xa0\xa0\xa0","")              #拼接为字符串,替换多余标签text="".join(content)            #拼接为字符串,多余标签\r\n为换行作用#保存文件#创建文件并打开,r表示原意,\表示转义字符filePath=r"C:\Users\ASUS\Desktop\桌面小说\\"         #将绝对路径前半部分拿出来try:with open(filePath+title[0]+'.txt','a',encoding='utf-8')as file: file.write(text) #放进去内容,写入file.close()#写入后关闭文件except:pass#封装获取所有链接的代码    
def get_link(index_url):index_html=requests.get(index_url).textindex_etree=etree.HTML(index_html)  #提取内容#用标签分段取链接dd=index_etree.xpath('/html/body/div[5]/dl/dd')      #写的是所有章节xpath路径写的是的前半部分的相同部分link_list=[]#打包所有链接for item in dd:#构造完整链接href="http://www.shuquge.com/txt/514/"+item.xpath('./a/@href')[0]       #写的是所有章节xpath路径写的是的后半部分的相同部分,@href意为返回内容为链接link_list.append(href)      #每输出一个链接,便追加到 link_list中return link_list     #返回的东西,我要带走的if __name__=='__main__':   #添加主函数index_url="http://www.shuquge.com/txt/514/index.html"  #小说首页链接links=get_link(index_url)for link in links:target_url=linkprint("正在爬取:",target_url)download_text(target_url)              #打开方法时连着页面的链接

运行结果:
在这里插入图片描述打开桌面文件夹:
在这里插入图片描述至此,爬取并保存书趣阁小说《天域苍穹》所有章节内容成功结束!


http://chatgpt.dhexx.cn/article/XXrXdJaN.shtml

相关文章

飘云阁论坛出品汇编逆向专用记事本

飘云阁论坛出品,汇编,逆向专用记事本 可以方便查询,常用破解指令,菜鸟口诀等等 下载地址,http://soft.ctfile.com/info/aWO316433

【风云GM工具】

【风云GM工具】适用于风云游戏的GM工具,呕心沥血写的 不到之处请谅解 下载地址:https://wwlu.lanzoue.com/ihZBF0i9xkzg 若有版权问题,可以无条件删除, 只是自已爱好个人研究,

2019仿笔趣阁小说网站源码(PC版+手机版+APP+采集器+教程)下载

第三套杰奇WAP小说模板,使用百度MIP,更重要的是这次使用了百度的MIP来制作模板。 1、底层程序仍然是独立版程序,模板样式和代码已经全部重写,不在有原来的代码。 2、同时本套程序已经更新过底层代码,本套模板中&#x…

VS2015装西红柿插件时遇到的:未能正确加载“Visual Assist”包

当电脑上有多个西红柿插件时,之前的未卸载干净会发生冲突,倒置无法启动VS2015.例如我用的西红柿插件: 飘云阁的2073版,西红柿插件安装目录在哪儿呢,教大家一个方法,用Everything.exe查找VA_X.dll&#xff0…

飞飞CMS采集资源-内置飞飞CMS采集接口

怎么用飞飞CMS采集让关键词排名以及网站快速收录,相信很多小伙伴的网站排名都经历过天堂和地狱....。近端时间百度波动就很大,很多网站排名直接给PASS掉了,很多人对百度的这次调整摸不到啥情况,只能干等着恢复正常。虽然目前没有迹…

飘云阁内存补丁工具使用

程序加了tmd壳,直接脱不方便,程序会弹黄色广告以及加入YY房间的窗口,找到关键代码位置,使用内存工具打补丁。 不良网站: 烦人的提升,关了又会出现: 这是弹黄色网站的函数,用的She…

visual assist x 2406 和 2435,2443 原版安装下载,只要一分

Whole Tomato Visual Assist X v10.9.2443.0 (21 Jan 2022) 完美解决使用问题,支持 C20和vs2022 64位。不是飘云阁版本,只要1分。 下载地址: VisualAssistXv10.9.2443.0-C文档类资源-CSDN文库 Visual Assist X 2435:由于vs2022…

LINGO学习笔记01

极力推荐观看教程作者视频,不止包含知识点,同时包含随堂练习帮助你巩固知识。我自己记的笔记肯定没有视频教程讲的仔细。链接 LINGO可以建立 简单模型 和 基于集合的专业模型 两种模型。 对于LINGO,所有参数默认非负,不区分大小写…

LINGO使用教程(一)

LINGO是用来求解线性和非线性优化问题的简易工具。LINGO内置了一种建立最优化模型的语言,可以简便地表达大规模问题,利用LINGO高效的求解器可快速求解并分析结果。 1.LINGO快速入门 当你在windows下开始运行LINGO系统时,会得到类似下面的一个窗口: 外层是主框架窗口,包…

搜索引擎的索引和搜索

对于网络蜘蛛技术和排序技术请参考作者其它文章[1][2],这里以Google搜索引擎为例主要介绍搜索引擎的数据索引和搜索过程。 数据的索引分为三个步骤:网页内容的提取、词的识别、标引库的建立。 互联网上大部分信息都是以HTML格式存在,对于索引…

轻松打造自己的站内搜索引擎

很多个人网站的站长都希望为自己的网站建立一个站内搜索引擎,但一不熟悉ASP、PHP、JSP等动态开发技术,另外自己建立站内搜索也需要空间支持相应的动态技术,所以常不得已放弃。其实,何不借用Google打造站内搜索引擎,来方…

搜索引擎SEO

一、定义 提高网站浏览量而做的优化手段。 二、与SEM的对比 (1)SEM高投入、SEO低投入 (2)SEM短、效益快,SEO长期投入、增长慢 (3)新广告法颁布之后SEM广告位减少、竞争压力大 三、衡量流量…

[C++项目] Boost文档 站内搜索引擎(1): 项目背景介绍、相关技术栈、相关概念介绍...

项目背景 Boost库是C中一个非常重要的开源库. 它实现了许多C标准库中没有涉及的特性和功能, 一度成为了C标准库的拓展库. C新标准的内容, 很大一部分脱胎于Boost库中. Boost库的高质量代码 以及 提供了更多实用方便的C组件, 使得Boost库在C开发中会被高频使用 为方便开发者学…

巧用搜索引擎---如何在指定网站中搜索

子曰:“工欲善其事,必先利其器。”在平时工作和学习中,网络上查找各种资料是最浪费时间的。在查资料的时候搜索功能是经常要用到的,常规的做法是在搜索引擎中直接搜索关键词。 比如我想找一下以前写过的一篇关于通信协议的文章。…

Chrome浏览器添加自定义搜索引擎-快速进行站内搜索

在使用Chrome时,设置了默认搜索引擎后,如果要切换搜索引擎比较麻烦。下面介绍一种通过关键字快速切换Chrome搜索引擎的方法。 打开 “设置” --> “搜索引擎” --> “管理搜索引擎” 修改关键字 点击1,修改关键字就可以了。 设置后&a…

站内搜索SITE

有的网站是没有站内搜索框的,这是我们可以利用搜索引擎的站内搜索 例如,JAVA天堂是没有站内搜索的 Java天堂 - Java学习笔记 这是我们可以使用百度或者必应搜索引擎在浏览器地址栏 输入: Servlet实现文件上传,可多文件上传 sit…

创建自己的搜索引擎,利用google进行站内搜索

宽为限 紧用功 功夫到 滞塞通 什么是自定义搜索? Google自定义搜索可以为您的网站,博客或网站集合创建搜索引擎。您可以配置搜索引擎来搜索网页和图像。您可以调整排名,自定义搜索结果的外观,并邀请您的朋友或信任的用户来帮助您…

Google SEO 搜索中心

在公司发展还没有那么成熟的时候,也许你的测试网站是外网可以公开访问的,也许你网站中的机密图片在测试环境(不小心上到正式环境)却被搜索引擎无情抓取,以及有些内部用户才能使用的网址,你并不想被搜索引擎…

如何指定网站内搜索关键字(借用已有搜索引擎)

目标:某个网站内,输入关键字搜索出相关东西 处境:这个网站开发者自己不去写搜索算法 解决方法:让微软的必应搜索引擎来做这件事,怎么弄呢,就是在必应搜索引擎页面里输入: xx关键字 site:xx网站 …

搜索引擎搜索特定网站的方法 :site

前言 从13开始的贴吧时代,还记得当时在贴吧里要搜索某些特定的帖子或者关键字的时候,用的都是“吧内搜索”,但用过的人都知道,这个所谓的吧内搜索其实很难用,大家都是用关键字空格贴吧之类的办法去搜索相关的内容。我…