爬取股吧指定时间段的文章标题

Posted lattesea

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了爬取股吧指定时间段的文章标题相关的知识,希望对你有一定的参考价值。

这个可以作为xpath的练手项目,爬取股吧2016年6月份到2016年12月份的文章标题和发帖时间

代码如下:

import requests
from requests.exceptions import RequestException
from lxml import etree
import csv


def get_one_index_page(url):
    """
        获取请求页的源码
    :param url:
    :return:
    """
    try:
        headers = {
            ‘User-Agent‘: ‘Mozilla / 5.0(X11;Linuxx86_64) AppleWebKit / 537.36(Khtml, likeGecko) Chrome / ‘
                          ‘76.0.3809.100Safari / 537.36‘,

        }
        response = requests.get(url, headers=headers)
        if response.status_code == 200:
            return response.text
        return None
    except RequestException:
        return None


def parse_page(text):
    """
        解析网页源代码
    :param text:
    :return:
    """
    html = etree.HTML(text)
    title_name = html.xpath("//span[@class=‘l3 a3‘]/a/text()")
    time = html.xpath("//span[@class=‘l5 a5‘]/text()")
    list_new_time = []
    for i in time[1::]:
        list_new_time.append(‘2016-‘ + i)
    return zip(title_name, list_new_time)


def change_page(number):
    """
        翻页
    :param number:
    :return:
    """
    base_url = ‘http://guba.eastmoney.com/‘
    url = base_url + ‘list,zssh000016,f_%d.html‘ % number
    return url


def save_to_csv(result, filename):
    """
        保存
    :param result:
    :param filename:
    :return:
    """
    with open(‘%s‘ % filename, ‘a‘) as csvfile:
        writer = csv.writer(csvfile)
        writer.writerow(result)


def main():
    # list01 = []
    for i in range(265, 272):
        number = change_page(i)
        text = get_one_index_page(number)
        result = parse_page(text)
        for j in result:
            save_to_csv(j, ‘data_new.csv‘)



if __name__ == ‘__main__‘:
    main()

以上是关于爬取股吧指定时间段的文章标题的主要内容,如果未能解决你的问题,请参考以下文章

Python-定时爬取指定城市天气-邮件提醒

淘股吧怎么开启打赏功能

递归爬取今日头条指定用户一个月内发表的所有文章,视频,微头条

片段(Java) | 机试题+算法思路+考点+代码解析 2023

603236移远通信股吧

scrapy按顺序启动多个爬虫代码片段(python3)