Python爬虫视频以及使用python3爬取的实例是怎样的


这篇文章将为大家详细讲解有关Python爬虫视频以及使用python3爬取的实例是怎样的,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。使用Python3爬取小说,代码看起来有点乱,下面有截图import requestsfrom lxml import etreefrom multiprocessing.dummy import Poolimport osimport re#小说的章节地址chapter_url = “https://www.biqudu.com/43_43821/”#忽略警告 https请求设置verify=False时 有时候会报错 设置这条语句可以解决requests.packages.urllib3.disable_warnings()def get_response(url): ”’ :根据指定URL获取响应数据、 :返回xpath选择器格式的数据 ”’ html = requests.get(url,verify=False) return etree.HTML(html.text)def get_chapter_content(selector): ”’ :传入xpath选择器格式的数据获取想要的数据 :返回一个包含章节标题,和章节地址的数组 ”’ html = [] #根据xpath获取title title = selector.xpath(‘//*[@id=”list”]/dl/dd/a/text()’) # 根据xpath获取url href = selector.xpath(‘//*[@id=”list”]/dl/dd/a/@href’) #这里以12开始遍历是因为前面几个数据是不要的 for i in range(12,len(title)): tit = title[i] url = “https://www.biqudu.com” + href[i] chapter = {“title”:tit,”url”:url} html.append(chapter) return htmldef save_content(url): ”’ :根据传进来的URL获取数据并保存 :这里的URL传入的事一个字典存储的地址和相对应保存文件的名称 ”’ # 保存下载文件的文件夹 folder = ‘novel’ # 获取选择器 html = get_response(url[‘url’]) # 提取出想要的内容 con = html.xpath(‘//*[@id=”content”]/text()’) # 判断文件夹是否存在 不存在就创建 if not os.path.exists(folder): os.mkdir(folder) # 去掉非法字符 fileName = re.sub(‘[/:*?”|]’,’-‘,url[‘name’]) # 保存文件 with open(folder + “/” + fileName + “.txt”,”w+”,encoding=”utf-8″) as f: # 得到的是一个list 这里转换为str content = ”.join(con) #遍历字符串 保存为每行不好过50个字符 for i in range(0,len(content),50): f.write(content[i:i+50] + “n”)def get_content(html): ”’ :并行爬取保存数据 ”’ urls = [] for con in html: url = con[‘url’] name = con[‘title’] urls.append({‘name’:name,’url’:url}) # 线程个数 pool = Pool(4) # 使用map进行并行爬取,save_content为爬取保存函数, # urls为一个list,里面存储的为网址列表和对应的保存名字 pool.map(save_content,urls) pool.clos 香港云主机e() pool.join()def main(): selector = get_response(chapter_url) html = get_chapter_content(selector) get_content(html)if __name__ == ‘__main__’: main()关于Python爬虫视频以及使用python3爬取的实例是怎样的就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。

相关推荐: css中的属性类别有哪些

本篇内容主要讲解“css中的属性类别有哪些”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“css中的属性类别有哪些”吧!css属性的分类:动画属性、转换属性、过渡属性、Box属性、Marquee属性、尺寸属性、外边距…

免责声明:本站发布的图片视频文字,以转载和分享为主,文章观点不代表本站立场,本站不承担相关法律责任;如果涉及侵权请联系邮箱:360163164@qq.com举报,并提供相关证据,经查实将立刻删除涉嫌侵权内容。

(0)
打赏 微信扫一扫 微信扫一扫
上一篇 08/11 17:26
下一篇 08/11 17:26

相关推荐