古诗词爬虫

古诗词爬虫

爬取网站:https://www.diyifanwen.com/sicijianshang/tangshisanbaishou/

导入模块

import requests
from lxml import etree
import pandas as pd
import re
headers = {
       'user-agent':'Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; Trident/5.0;'
}
res = requests.get('https://www.diyifanwen.com/sicijianshang/tangshisanbaishou/',headers)
res=res.content.decode('gbk','ignore')
# print(res)
res = etree.HTML(res)
data = res.xpath('//*/dd/a/@href')
poem_list = []
i = 1
for url in data:
    lit = []
    url = 'https:' + url
    #url = re.sub(r'//','',url)
    # print(url)
    res = requests.get(url,headers)
    res_xp=res.content.decode('gbk','ignore')
    print(type(res_xp))
    # print(res)
    res = etree.HTML(res_xp)
    au_title = res.xpath('//*/h1/text()')
    lit.append(au_title)
    contents = re.findall(r'<p>(.*?)</p>', res_xp)
    lit.append(contents)
    poem_list.append(lit)
    print('爬取第%d个'%i)
    i+=1
    # 转成dataframe
df = pd.DataFrame(poem_list)
df.to_csv('./poem20201104.csv',mode='a',header=False,encoding='gbk') 
    # mode = 'a'追加,header=False,不要表头 encoding='utf-8' 防止乱码
print('all finished!!!')

结果:

<class 'str'>
爬取第1个
<class 'str'>
爬取第2个
<class 'str'>
爬取第3个
<class 'str'>
爬取第4个
<class 'str'>
爬取第5个
<class 'str'>
爬取第6个
<class 'str'>
爬取第7个
<class 'str'>
爬取第8个
<class 'str'>
爬取第9个
<class 'str'>
爬取第10个
<class 'str'>
爬取第11个
<class 'str'>
爬取第12个
<class 'str'>
爬取第13个
<class 'str'>
爬取第14个
<class 'str'>
爬取第15个
<class 'str'>
爬取第16个
<class 'str'>
爬取第17个
<class 'str'>
爬取第18个
<class 'str'>
爬取第19个
<class 'str'>
爬取第20个
<class 'str'>
爬取第21个
<class 'str'>
爬取第22个
<class 'str'>
爬取第23个
<class 'str'>
爬取第24个
<class 'str'>
爬取第25个
<class 'str'>
爬取第26个
<class 'str'>
爬取第27个
<class 'str'>
爬取第28个
<class 'str'>
爬取第29个
<class 'str'>
爬取第30个
<class 'str'>
爬取第31个
<class 'str'>
爬取第32个
<class 'str'>
爬取第33个
<class 'str'>
爬取第34个
<class 'str'>
爬取第35个
<class 'str'>
爬取第36个
<class 'str'>
爬取第37个
<class 'str'>
爬取第38个
<class 'str'>
爬取第39个
<class 'str'>
爬取第40个
<class 'str'>
爬取第41个
<class 'str'>
爬取第42个
<class 'str'>
爬取第43个
<class 'str'>
爬取第44个
<class 'str'>
爬取第45个
<class 'str'>
爬取第46个
<class 'str'>
爬取第47个
<class 'str'>
爬取第48个
<class 'str'>
爬取第49个
<class 'str'>
爬取第50个
<class 'str'>
爬取第51个
<class 'str'>
爬取第52个
<class 'str'>
爬取第53个
<class 'str'>
爬取第54个
<class 'str'>
爬取第55个
<class 'str'>
爬取第56个
<class 'str'>
爬取第57个
<class 'str'>
爬取第58个
<class 'str'>
爬取第59个
<class 'str'>
爬取第60个
<class 'str'>
爬取第61个
<class 'str'>
爬取第62个
<class 'str'>
爬取第63个
<class 'str'>
爬取第64个
<class 'str'>
爬取第65个
<class 'str'>
爬取第66个
<class 'str'>
爬取第67个
<class 'str'>
爬取第68个
<class 'str'>
爬取第69个
<class 'str'>
爬取第70个
<class 'str'>
爬取第71个
<class 'str'>
爬取第72个
<class 'str'>
爬取第73个
<class 'str'>
爬取第74个
<class 'str'>
爬取第75个
<class 'str'>
爬取第76个
<class 'str'>
爬取第77个
<class 'str'>
爬取第78个
<class 'str'>
爬取第79个
<class 'str'>
爬取第80个
<class 'str'>
爬取第81个
<class 'str'>
爬取第82个
<class 'str'>
爬取第83个
<class 'str'>
爬取第84个
<class 'str'>
爬取第85个
<class 'str'>
爬取第86个
<class 'str'>
爬取第87个
<class 'str'>
爬取第88个
<class 'str'>
爬取第89个
<class 'str'>
爬取第90个
<class 'str'>
爬取第91个
<class 'str'>
爬取第92个
<class 'str'>
爬取第93个
<class 'str'>
爬取第94个
<class 'str'>
爬取第95个
<class 'str'>
爬取第96个
<class 'str'>
爬取第97个
<class 'str'>
爬取第98个
<class 'str'>
爬取第99个
<class 'str'>
爬取第100个
<class 'str'>
爬取第101个
<class 'str'>
爬取第102个
<class 'str'>
爬取第103个
<class 'str'>
爬取第104个
<class 'str'>
爬取第105个
<class 'str'>
爬取第106个
<class 'str'>
爬取第107个
<class 'str'>
爬取第108个
<class 'str'>
爬取第109个
<class 'str'>
爬取第110个
<class 'str'>
爬取第111个
<class 'str'>
爬取第112个
<class 'str'>
爬取第113个
<class 'str'>
爬取第114个
<class 'str'>
爬取第115个
<class 'str'>
爬取第116个
<class 'str'>
爬取第117个
<class 'str'>
爬取第118个
<class 'str'>
爬取第119个
<class 'str'>
爬取第120个
<class 'str'>
爬取第121个
<class 'str'>
爬取第122个
<class 'str'>
爬取第123个
<class 'str'>
爬取第124个
<class 'str'>
爬取第125个
<class 'str'>
爬取第126个
<class 'str'>
爬取第127个
<class 'str'>
爬取第128个
<class 'str'>
爬取第129个
<class 'str'>
爬取第130个
<class 'str'>
爬取第131个
<class 'str'>
爬取第132个
<class 'str'>
爬取第133个
<class 'str'>
爬取第134个
<class 'str'>
爬取第135个
<class 'str'>
爬取第136个
<class 'str'>
爬取第137个
<class 'str'>
爬取第138个
<class 'str'>
爬取第139个
<class 'str'>
爬取第140个
<class 'str'>
爬取第141个
<class 'str'>
爬取第142个
<class 'str'>
爬取第143个
<class 'str'>
爬取第144个
<class 'str'>
爬取第145个
<class 'str'>
爬取第146个
<class 'str'>
爬取第147个
<class 'str'>
爬取第148个
<class 'str'>
爬取第149个
<class 'str'>
爬取第150个
<class 'str'>
爬取第151个
<class 'str'>
爬取第152个
<class 'str'>
爬取第153个
<class 'str'>
爬取第154个
<class 'str'>
爬取第155个
<class 'str'>
爬取第156个
<class 'str'>
爬取第157个
<class 'str'>
爬取第158个
<class 'str'>
爬取第159个
<class 'str'>
爬取第160个
<class 'str'>
爬取第161个
<class 'str'>
爬取第162个
<class 'str'>
爬取第163个
<class 'str'>
爬取第164个
<class 'str'>
爬取第165个
<class 'str'>
爬取第166个
<class 'str'>
爬取第167个
<class 'str'>
爬取第168个
<class 'str'>
爬取第169个
<class 'str'>
爬取第170个
<class 'str'>
爬取第171个
<class 'str'>
爬取第172个
<class 'str'>
爬取第173个
<class 'str'>
爬取第174个
<class 'str'>
爬取第175个
<class 'str'>
爬取第176个
<class 'str'>
爬取第177个
<class 'str'>
爬取第178个
<class 'str'>
爬取第179个
<class 'str'>
爬取第180个
<class 'str'>
爬取第181个
<class 'str'>
爬取第182个
<class 'str'>
爬取第183个
<class 'str'>
爬取第184个
<class 'str'>
爬取第185个
<class 'str'>
爬取第186个
<class 'str'>
爬取第187个
<class 'str'>
爬取第188个
<class 'str'>
爬取第189个
<class 'str'>
爬取第190个
<class 'str'>
爬取第191个
<class 'str'>
爬取第192个
<class 'str'>
爬取第193个
<class 'str'>
爬取第194个
<class 'str'>
爬取第195个
<class 'str'>
爬取第196个
<class 'str'>
爬取第197个
<class 'str'>
爬取第198个
<class 'str'>
爬取第199个
<class 'str'>
爬取第200个
<class 'str'>
爬取第201个
<class 'str'>
爬取第202个
<class 'str'>
爬取第203个
<class 'str'>
爬取第204个
<class 'str'>
爬取第205个
<class 'str'>
爬取第206个
<class 'str'>
爬取第207个
<class 'str'>
爬取第208个
<class 'str'>
爬取第209个
<class 'str'>
爬取第210个
<class 'str'>
爬取第211个
<class 'str'>
爬取第212个
<class 'str'>
爬取第213个
<class 'str'>
爬取第214个
<class 'str'>
爬取第215个
<class 'str'>
爬取第216个
<class 'str'>
爬取第217个
<class 'str'>
爬取第218个
<class 'str'>
爬取第219个
<class 'str'>
爬取第220个
<class 'str'>
爬取第221个
<class 'str'>
爬取第222个
<class 'str'>
爬取第223个
<class 'str'>
爬取第224个
<class 'str'>
爬取第225个
<class 'str'>
爬取第226个
<class 'str'>
爬取第227个
<class 'str'>
爬取第228个
<class 'str'>
爬取第229个
<class 'str'>
爬取第230个
<class 'str'>
爬取第231个
<class 'str'>
爬取第232个
<class 'str'>
爬取第233个
<class 'str'>
爬取第234个
<class 'str'>
爬取第235个
<class 'str'>
爬取第236个
<class 'str'>
爬取第237个
<class 'str'>
爬取第238个
<class 'str'>
爬取第239个
<class 'str'>
爬取第240个
<class 'str'>
爬取第241个
<class 'str'>
爬取第242个
<class 'str'>
爬取第243个
<class 'str'>
爬取第244个
<class 'str'>
爬取第245个
<class 'str'>
爬取第246个
<class 'str'>
爬取第247个
<class 'str'>
爬取第248个
<class 'str'>
爬取第249个
<class 'str'>
爬取第250个
<class 'str'>
爬取第251个
<class 'str'>
爬取第252个
<class 'str'>
爬取第253个
<class 'str'>
爬取第254个
<class 'str'>
爬取第255个
<class 'str'>
爬取第256个
<class 'str'>
爬取第257个
<class 'str'>
爬取第258个
<class 'str'>
爬取第259个
<class 'str'>
爬取第260个
<class 'str'>
爬取第261个
<class 'str'>
爬取第262个
<class 'str'>
爬取第263个
<class 'str'>
爬取第264个
<class 'str'>
爬取第265个
<class 'str'>
爬取第266个
<class 'str'>
爬取第267个
<class 'str'>
爬取第268个
<class 'str'>
爬取第269个
<class 'str'>
爬取第270个
<class 'str'>
爬取第271个
<class 'str'>
爬取第272个
<class 'str'>
爬取第273个
<class 'str'>
爬取第274个
<class 'str'>
爬取第275个
<class 'str'>
爬取第276个
<class 'str'>
爬取第277个
<class 'str'>
爬取第278个
<class 'str'>
爬取第279个
<class 'str'>
爬取第280个
<class 'str'>
爬取第281个
<class 'str'>
爬取第282个
<class 'str'>
爬取第283个
<class 'str'>
爬取第284个
<class 'str'>
爬取第285个
<class 'str'>
爬取第286个
<class 'str'>
爬取第287个
<class 'str'>
爬取第288个
<class 'str'>
爬取第289个
<class 'str'>
爬取第290个
<class 'str'>
爬取第291个
<class 'str'>
爬取第292个
<class 'str'>
爬取第293个
<class 'str'>
爬取第294个
<class 'str'>
爬取第295个
<class 'str'>
爬取第296个
<class 'str'>
爬取第297个
<class 'str'>
爬取第298个
<class 'str'>
爬取第299个
<class 'str'>
爬取第300个
<class 'str'>
爬取第301个
<class 'str'>
爬取第302个
<class 'str'>
爬取第303个
<class 'str'>
爬取第304个
<class 'str'>
爬取第305个
<class 'str'>
爬取第306个
<class 'str'>
爬取第307个
<class 'str'>
爬取第308个
<class 'str'>
爬取第309个
<class 'str'>
爬取第310个
all finished!!!
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Wency(王斯-CUEB)

我不是要饭的

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值