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

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

作者: 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