爬取小说名字和链接

下面的代码是通过BeautifulSoup解析某个网站的html代码,然后通过特定标签实现爬取该网站上的小说名字和链接。

from bs4 import BeautifulSoup
from urllib import request

if __name__ == '__main__':
    target_url = 'http://www.biqukan.com/1_1094/'
    req = request.Request(target_url)
    response = request.urlopen(req)
    response = response.read().decode('gbk')
    #print(response)
    soup = BeautifulSoup(response,'lxml')#将response用BeautifulSoup按照lxml的格式解析,得到一个BeautifulSoup对象
                                                                #并能按照标准的缩进格式的结构输出
    #print(soup.prettify())     #结构化输出
    #搜索建立的文档树,找出来div标签中class是listmain的所有子标签
    chapter = soup.find_all('div', class_ = 'listmain')
    #使用查询结果在此创建一个BeautifulSoup对象,继续对其解析
    download_soup = BeautifulSoup(str(chapter),'lxml')
    print(download_soup.prettify())
    flag = False
    #遍历dl标签下的所有子节点 children只包含直接子节点
    for child in download_soup.dl.children:
        #过滤掉回车,(这个地方为什么会有空行暂时不太理解,回头再研究)
        if child !='\n':

            if child.string == '《一念永恒》正文卷':
                flag = True
            if flag == True and child.a != None:
                download_url = "http://www.biqukan.com" + child.a.get('href')
                download_name = child.string
                print(download_name, ': ',download_url)
   # for b in soup.find_all('a'):
        #print(b['href'],b.string)
    #print(soup.find_all('a'))
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 声明:本文讲解的实战内容,均仅用于学习交流,请勿用于任何商业用途! 一、前言 强烈建议:请在电脑的陪同下,阅读本文...
    Bruce_Szh阅读 12,783评论 6 28
  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 173,466评论 25 708
  • 问答题47 /72 常见浏览器兼容性问题与解决方案? 参考答案 (1)浏览器兼容问题一:不同浏览器的标签默认的外补...
    _Yfling阅读 13,809评论 1 92
  • 一个40+的女人 题记:这里没有奋斗史,只是有感而发。 今天看见工资...
    剪西窗阅读 294评论 0 0
  • 孩子因早恋问题,被班主任叫家长以及批评,如何总结,学习和提升: 一是以正常心态接受。中学生在青春期遇到早恋、...
    珊爸阅读 303评论 0 1