美文网首页
爬虫系列之~爬取简书网用户文章信息

爬虫系列之~爬取简书网用户文章信息

作者: python进阶我在路上 | 来源:发表于2018-06-15 17:59 被阅读0次

          本文将介绍利用Requests、Lxml第三方库及逆向工程方法,爬去简书用户文章信息,并通过pymysql库将爬取数据放到mysql数据库中。  

         需要的工具:python3、mysql

         需要安装的包:Requets、Lxml、pymsql                                             

           本文以爬取简书用户三步一叩首的文章信息为例,爬去数据包括:文章标题、阅读量、评论数、点赞量                                                                                 

        在写爬虫之前,先在数据库database中新建jianshu表来存放爬取的数据,代码如下:                                                                                                                         

    本文使用Xpath来解析网页,具体代码如下:

    import requests

    from lxml import etree

    import pymysql

    conn = pymysql.connect(host='localhost',user='root',passwd='200709',db='database',port=3306,charset='utf8')

    cursor = conn.cursor()

    urls = ['https://www.jianshu.com/u/57521b4790dc?order_by=shared_at&page={}'.format(str(i)) for i in range(1,17)]

    headers = {

        'User-Agent': 'Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/65.0.3325.181 Safari/537.36'

        }

    for url in urls:

        html = requests.get(url,headers=headers)

        selector = etree.HTML(html.text)

        infos = selector.xpath('//ul[@class="note-list"]/li')

        for info in infos:

            title = info.xpath('div/a/text()')[0]

            total_read = info.xpath('div/div/a[1]/text()')[1].strip()

            words = info.xpath('div/div/a[2]/text()')[1].strip()

            liked = info.xpath('div/div/span[1]/text()')[0].strip()

            cursor.execute("insert into jianshu(title,total_read,words,liked) values(%s,%s,%s,%s)",

                          (str(title),str(total_read),str(words),str(liked)))

            conn.commit()

    运行代码过后,打开mysql,发现数据已经保存到jianshu表中。

    相关文章

      网友评论

          本文标题:爬虫系列之~爬取简书网用户文章信息

          本文链接:https://www.haomeiwen.com/subject/swvpeftx.html