python爬取小木虫的调剂信息(考研调剂学生的福利)

先看看页面
在这里插入图片描述
这里我们以500页,为例,采用xpath选取这里的title,时间以及作者,然后再看看具体信息
在这里插入图片描述
红色框即为我们需要的详情信息,全部抓取后写入csv文件
在这里插入图片描述

import requests
from lxml import etree
import time as times
import csv
headers = {
    'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/76.0.3809.100 Safari/537.36'
}
mu_url = 'http://muchong.com/f-430-{}'

heads = ["title", "url", "author", "time", "school", "major", "need_people"]
save_path = r'D:/QQPCmgr/Desktop/xmc/school_info.csv'
with open(save_path, "w") as f:
    f_csv = csv.writer(f)
    f_csv.writerow(heads)
base_url = 'http://muchong.com'

for i in range(1, 500):
    response = requests.get(url = mu_url.format(i), headers = headers).text
    HTML = etree.HTML(response)
    tbodys = HTML.xpath("//div[@class='forum_body xmc_line_lr']/table/tbody[position()>1]")
    infos = []
    for tbody in tbodys:
        try:
            title = tbody.xpath('.//a[@class="a_subject"]//text()')
            url = tbody.xpath('.//a[@class="a_subject"]/@href')
            author = tbody.xpath('.//th[@class="by"]/cite/a//text()')
            time = tbody.xpath('.//th[@class="by"]//nobr//text()')
        #     print(title[0] + " "+ base_url+ url[0]  + " " + author[0]+ " " + time[0])
            info = {}
            info['title'] = title[0]
            info['url'] = base_url+ url[0]
            info['author'] = author[0]
            info['time'] = time[0]
            info_response = requests.get(info['url'], headers = headers).text
            info_HTML = etree.HTML(info_response)
            school = info_HTML.xpath("//table[@class='adjust_table']//tr[position()=2]/td[position()=2]//text()")[0]
            major = info_HTML.xpath("//table[@class='adjust_table']//tr[position()=3]/td[position()=2]//text()")[0]
            need_people = info_HTML.xpath("//table[@class='adjust_table']//tr[position()=5]/td[position()=2]//text()")[0]
            info['school'] = school
            info['major'] = major
            info['need_people'] = need_people
            print(info)
            infos.append(info)
            times.sleep(0.1)
        except:
            print('路劲错误')
            
    with open(save_path, "a+", newline='') as f:
        f_csv = csv.writer(f)
        for info in infos:
            row = [info['title'].strip(), info['url'].strip(), info['author'].strip(), info['time'].strip(), info['school'].strip(), info['major'].strip(), info['need_people'].strip()]
            try:
                f_csv.writerow(row)
            except:
                print("编码错误")
    times.sleep(0.1)
    
        
本科毕业论文,查重率为1.9%,可供大家参考。以python爬虫为背景。Web网页数据挖掘技术在上个世纪80年代早就已经有了初步的研究,随着互联网的迅速开展和大规模数据时代的开展,从“冰山一角”的大量数据中寻找潜在有用的价值信息数据挖掘技术起到了不可忽视的作用,并成为当下最抢手的钻研热点之一。近年来,该技术快速进步,在工程、医学与科学等多种行业都取得了巨大的成果,其研究价值也随之增高。 随之传统的Web爬虫技术也称为网页机器人或者网页蜘蛛,它是一个对网页数据进行批量的下载的程序。面向传统的Web页面的网络爬虫通常采用的方式是对网页中的超链接关系的对外进行扩展,从而获取整个互联网中页面的信息。基于python的Web爬虫需要对网站中的各个节点之间的进行研究,以便获得整个网站的节点关系图。在网络爬虫开发中,Python是最为普遍运用的设计言语。Python爬虫设计中具备特殊的优势,其丰厚的开源库和优异的代码封装使得Python爬虫逐步成为了潮流。 本次毕业设计就是在这个背景下进行的,主要采用了python语言设计程序,其丰富的库函数能够找出网页的xml结构,并运用正则表达式对数据进行筛选。 最后将数据存入mysql数据库展开保存,方便后续的操作。本文旨在方便考研调剂挖掘,为考研学子以后咨询信息提供了一条更加便捷和可行的方法。
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值