Requests和Xpath笔趣阁小说采集爬取教程

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Requests和Xpath笔趣阁小说采集爬取教程相关的知识,希望对你有一定的参考价值。

参考技术A 1 爬取网站 笔趣阁小说

2 网站地址 https://www.67bqg.com

3 本脚本只为学习,切勿使用违法用途。

--------------------------------------------------------------------------------------------------------------------------------

Requests

Requests是用python语言基于urllib编写的,采用的是Apache2 Licensed开源协议的HTTP库

如果你看过文章关于urllib库的使用,你会发现,其实urllib还是非常不方便的,而Requests它会比urllib更加方便,可以节约我们大量的工作。(用了requests之后,你基本都不愿意用urllib了)一句话,requests是python实现的最简单易用的HTTP库,建议爬虫使用requests库。

Xpath

XPath即为 XML 路径语言(XML Path Language),它是一种用来确定XML文档中某部分位置的语言。

XPath基于XML的树状结构,提供在数据结构树中找寻节点的能力。起初XPath的提出的初衷是将其作为一个通用的、介于 XPointer 与 XSL 间的语法模型。但是XPath很快的被开发者采用来当作小型 查询语言 。

#正则+request+xpathfrom lxml import etreeimport requestsimport reimport warningsimport timewarnings.filterwarnings("ignore")headers = "User-Agent" : "Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1 Trident/5.0;"def get_urls(URL):    html=requests.get(URL,headers=headers,verify=False)    Html.encoding = 'gbk'    HTML=etree.HTML(Html.text)    results=HTML.xpath('//dd/a/@href')    return resultsdef get_items(result):    url='https://www.biquyun.com'+str(result)    html=requests.get(url,headers=headers,verify=False)    html.encoding = 'gbk'    pattern=re.compile('(.*?).*?(.*?)',re.S)    items='\n'*2+str(re.findall(pattern,html.text)[0][0])+'\n'*2+str(re.findall(pattern,html.text)[0][1])    items=items.replace('    ','').replace('
','')    return items    def save_to_file(items):    with open ("xiaoshuo1.txt",'a',encoding='utf-8') as file:        file.write(items)        def main(URL):    results=get_urls(URL)    ii=1    for result in results:        items=get_items(result)        save_to_file(items)        print(str(ii)+' in 1028')        ii=ii+1#        time.sleep(1)if __name__ == '__main__':    start_1 = time.time()    URL=( https://www.67bqg.com )'    main(URL)    print('Done!')    end_1 = time.time()    print('爬虫时间1:',end_1-start_1)

运行结果(重点)

笔趣阁小说爬取

 

http://blog.csdn.net/qq_22073849/article/details/78018980  小说爬取参考

完成到一半

#!/usr/bin/python
# -*- coding: UTF-8 -*-
import requests
from bs4 import BeautifulSoup

def get_url_list(url):
    content = requests.get(url).content
    soup = BeautifulSoup(content,lxml)
    url_list = []
    # urls = soup.find(‘div‘,{‘id‘:‘list‘}).find(‘dl‘).find_all(‘dd‘)
    urls = soup.select(#list > dl > dd > a)
    for i in urls:
        i = i.get(href)
        print(i)
        i = http://www.biquge.com.tw + i
        url_list.append(i)
    print (url_list)
    return url_list

def get_data(url):
    content = requests.get(url).content
    soup = BeautifulSoup(content, lxml)
    f = open(rD:\Test EXCE1\HMXX.txt,a+,encoding=utf-8)
    text_name = soup.find(div,{class:bookname}).find(h1).text
    print(text_name)



if __name__ ==__main__:
    url = http://www.biquge.com.tw/18_18049/8057787.html
    # get_url_list(url)
    get_data(url)

 

以上是关于Requests和Xpath笔趣阁小说采集爬取教程的主要内容,如果未能解决你的问题,请参考以下文章

bs4爬取笔趣阁小说

多线程爬取笔趣阁免费小说全站爬取

scrapycrawl 爬取笔趣阁小说

爬取笔趣阁小说(一念永恒)

Python 爬取笔趣阁小说

用爬虫爬取笔趣阁小说