0°

Python爬虫:使用requests+re来爬取豆瓣图书

内容预览:

    原文始发于微信公众号(Python绿色通道):Python爬虫:使用requests+re来爬取豆瓣图书

    这两天在知识星球上有球友在使用requests+re来爬豆瓣图书的链接,书名及作者遇到了问题,虽然当时很快给他解决了,但由于我之前没有写这方面的文章,所以临时决定补一篇这样的文章。

    首先需要说明的是,在数据抓取的时候,肯定是优先使用xpath,如果xpath不行再考虑正则或者bs4, 因为xpath简单且高效!

    概念性的东西这里就不说了,我们直接来实战,这里只简单说明一下,详细的需要自己去查一下资料!

    要爬取的图书内容:

    Python爬虫:使用requests+re来爬取豆瓣图书

    爬取到的数据

    Python爬虫:使用requests+re来爬取豆瓣图书


    . 可以匹配除换行符外的字符
    re* 表示匹配0个或多个表达式
    re?匹配0个或多个由前面正则表达式定义的片段,非贪婪模式,且只匹配前一个

    1. 首先我们需要完全抓取,所以我们要使用re.findall方法,又因为数据全部在<li class>中,需要只需要对这个里面数据处理

    2. 然后每一列来匹配 <li class> 因为还需要向后匹配查找,所以需要添加.*? 匹配一次,非贪婪模式. 等等匹配到cover下面的目录,我们可以匹配到href,获取再匹配标题,但alt包含标题,所以这里直接来提取alt="(.*?)",

    3. 接着需要提取数据出来这里使用(.*?) 把数据提出来,这里有多个数据需要提取,然后用数组呈现出来Python爬虫:使用requests+re来爬取豆瓣图书

    完整代码

    import requests
    import re
    import sys
    reload(sys)
    sys.setdefaultencoding('utf-8')

    url = 'https://book.douban.com/'
    headers = {'User-Agent': 'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko)
    Chrome/55.0.2883.87 Safari/537.36'
    }
    html = requests.get(url, headers=headers)
    html.encoding = 'utf-8'
    # 这里我只取了链接与标题
    patter = re.compile('<li class.*?cover.*?href="(.*?)".*?alt="(.*?)".*?<p class="author".*?>(.*?)</p>', re.S)
    titles = re.findall(patter, html.text)
    for each in titles:
       print '书籍链接:{},书籍标题:{},---书籍作者:{}'.format(each[0], each[1],each[2].strip())


    推荐阅读:

    一起来Python项目实战,约吗?

    做微信公众号100天了

    用Python来找合适的妹子(一)

    使用Python自动化发布文章(二)

    使用Python自动化发布文章:(一)

    Python爬虫:使用Python动态爬取冯大辉老师微博,再用词云分析

    Python爬虫:动态爬取QQ说说并生成词云,分析朋友状况

    Python爬虫:学习Selenium并使用Selenium模拟登录知乎

    Python爬取大量数据时,如何防止IP被封

    Python爬虫:现学现用xpath爬取豆瓣音乐


    的Python之旅

    Python爬虫:使用requests+re来爬取豆瓣图书

    长按,识别二维码,关注公众号



    目前10000+人已关注加入我们

    Python爬虫:使用requests+re来爬取豆瓣图书 Python爬虫:使用requests+re来爬取豆瓣图书 Python爬虫:使用requests+re来爬取豆瓣图书 Python爬虫:使用requests+re来爬取豆瓣图书 Python爬虫:使用requests+re来爬取豆瓣图书 Python爬虫:使用requests+re来爬取豆瓣图书 Python爬虫:使用requests+re来爬取豆瓣图书 Python爬虫:使用requests+re来爬取豆瓣图书

    Python爬虫:使用requests+re来爬取豆瓣图书 Python爬虫:使用requests+re来爬取豆瓣图书 Python爬虫:使用requests+re来爬取豆瓣图书 Python爬虫:使用requests+re来爬取豆瓣图书 Python爬虫:使用requests+re来爬取豆瓣图书 Python爬虫:使用requests+re来爬取豆瓣图书 Python爬虫:使用requests+re来爬取豆瓣图书 Python爬虫:使用requests+re来爬取豆瓣图书



    最后 :大家也可以加我个人微信:hg_liuzl,  务必注明:Python学习,拉你进群学习,一个纯粹的Python学习环境

    和大佬一起学习网络安全知识

    以上就是:Python爬虫:使用requests+re来爬取豆瓣图书 的全部内容

    本站部分内容来源于互联网和用户投稿,如有侵权请联系我们删除,谢谢^^
    Email:[email protected]


    0 条回复 A 作者 M 管理员
      所有的伟大,都源于一个勇敢的开始!
    欢迎您,新朋友,感谢参与互动!欢迎您 {{author}},您在本站有{{commentsCount}}条评论