爬虫案例:爬取笔趣阁小说

捣鼓了两天啊,,,,各种问题我要吐了,,,,,,果然我太菜了(哭)

import requests
import re
import os
headers = {'Accept': 'text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3',
'Accept-Encoding': 'gzip, deflate, br',
'Accept-Language': 'zh-CN,zh;q=0.9',
'Cache-Control': 'max-age=0',
'Connection': 'keep-alive',
'Cookie': 'fikker-spEH-SVuL=SKuZGHo8IKJMQDideJaIQVcfyHkFLb9H; fikker-spEH-SVuL=SKuZGHo8IKJMQDideJaIQVcfyHkFLb9H; Hm_lvt_e73fd8f9f7e092a67d6a312a933f5525=1586390925,1586398042,1586418821,1586431465; Hm_lpvt_e73fd8f9f7e092a67d6a312a933f5525=1586431465; jieqiVisitId=article_articleviews%3D1',
'Host': 'www.biqooge.com',
'Sec-Fetch-Mode': 'navigate',
'Sec-Fetch-Site': 'none',
'Sec-Fetch-User': '?1',
'Upgrade-Insecure-Requests': '1',
'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/78.0.3904.108 Safari/537.36'
}

def get_urls(url):
    resp = requests.get(url,headers = headers)
    text = resp.content.decode('gbk')
    data = re.findall(r'<dd><a href=.(.+?).>(.+?)</a></dd>',text,re.DOTALL)
    return data

def get_content(data,url):
    data = data[9:]
    for each in data:
        name = each[1]+'.txt'
        detail_url = each[0].split('/')[-1]
        urls = url + detail_url
        resp = requests.get(urls,headers = headers)
        text = resp.content.decode('gbk')
        content = re.findall(r'<div id=.content.>(.+?)</div>',text,re.DOTALL)
        content = re.sub('&nbsp;|<br />','',content[0])
        with open(name,'w',encoding='utf-8') as f:
            f.write(content)

def main():
    os.mkdir('小说')
    os.chdir('小说')
    url = input('请输入笔趣阁小说网址:')
    datail_url = get_urls(url)
    get_content(datail_url,url)

if __name__ == '__main__':
    main()

然后我发现了一个真理,,,,如果你感觉写的代码没问题,,一定时你请求头复制的不够多,,,,,(显得我好垃圾)
反正不知道服务器检测那个,多复制一点肯定没问题啦,,hhhhh

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值