【Python爬虫】爬取起点小说名称和地址

【Python爬虫】爬取起点小说名称和地址

完整代码(很简单)

// An highlighted block
import requests
from bs4 import BeautifulSoup  # Beautiful Soup是一个可以从HTMLXML文件中提取结构化数据的Python库

def fillUnivList(soup,keyword):
    #查找所有class=name的<a> 
    titles = soup.find_all('a', 'name') 
    # 在G盘中打开/创建一个名为 keyword 的txt文件
    f=open(r'G:\\'+keyword+'.txt', "w",encoding='utf-8')
    #写入,一个{}对应后面的一个format值,:^10 意思是 东西在10个字符中居中显示
    f.write("{:^10}\t{:^20}\t\t{:^20}".format("编号","书名","地址",chr(12288)) + '\n')
    #i用来写编号计数
    i=1
    for title in titles:   #遍历titles中的每个title
        #向文件中写入i,title的字符串(即文章的标题),title中的链接,添加空字符,并换行
        f.write("{:^10}\t{:^20}\t\t{:^20}".format(i,title.string,title.get('href'),chr(12288))+ '\n')              
        i=i+1
    f.close()
    print ("输出完成。")
    
if __name__ == '__main__':
    # 构造头文件,模拟浏览器访问,否则访问个别网页会出现403错误
    headers = {'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.110 Safari/537.36'}
    word = input('请输入您需要的小说类型:')
    try:
        print ("正在连接,")
        result = requests.get('http://www.qidian.com/'+word)       
        result.encoding='utf-8'
        # 将获取到的内容转换成BeautifulSoup格式,并将html.parser作为解析器
        soup=BeautifulSoup(result.text,'html.parser')
        #调用函数,带入两个参数
        fillUnivList(soup,word)
    except:
        #出现任何报错就失败
        print ("连接失败。")
    
    


运行结果

【Python爬虫】爬取起点小说名称和地址_第1张图片
【Python爬虫】爬取起点小说名称和地址_第2张图片
输入小说的类型即可(例如:dushi、wuxia)

环境库

Python3 网盘
request :>pip install requests # 或者 pip3 install requests
beautifulsoup4 :>pip install beautifulsoup4 或者 pip3 install beautifulsoup4

你可能感兴趣的:(python)