爬取研招网,考研动态!一手情报,你考研过了吗?
爬取目标:爬取研招网-考研动态所有的文章的的的的的
- 正文
- 标题
- 日期
- 来源
文章插图
郑重声明:本项目及所有相关文章 , 仅用于经验技术交流 , 禁止将相关技术应用到不正当途径 , 因为滥用技术产生的风险与本人无关 。
我是分割线....
1、导包
import csvimport timeimport requestsfrom bs4 import BeautifulSoup1234
2、先获取所有文章链接- 既然我们要爬取所有的文章,那就要先把所有文章的链接爬下来吧,然后再依次请求解析.
- 这里爬取链接用的是xpath,毕竟bs4的强项还是在处理文本上,下面获取具体内容全部用的bs4
- 这里就是为了获取 尾部url 即tail_url, 后面会用到,我们把所有的tail_url 放入到一个列表,后面会用到 (tail_url 是个人定义的一个变量,不是什么内置的东西…)
# 获取所有子路由,并保存到一个列表中# 并未使用bs4解析器Url_page_num = 0tail_urls = [] for i in range(1, page_num):url = "{}".format(Url_page_num)res=requests.get(url).textdom=etree.HTML(res)for list_num in range(1,51):tail_urls.append(dom.xpath('/html/body/div[1]/div[2]/div[3]/div[1]/ul/li[{}]/a/@href'.format(list_num))[0])time.sleep(1)Url_page_num += 50print(tail_urls)123456789101112131415
2.1对一个文章使用bs4解析先试试爬一个文章,后面直接for循环就行.【爬取研招网,考研动态!一手情报,你考研过了吗?】
# 使用 bs4 对HTML解析head_url = ''total_url = head_url + tail_urls[0]res=requests.get(total_url)soup = BeautifulSoup(res.content, 'lxml')# 获取正文art_content = soup.find(class_="content-l detail").get_text()# 获取文章的标题、日期、来源art_head = soup.find(class_="title-box").get_text().split("\n")art_title, art_date, art_source = art_head[1], art_head[2].split("日")[0] + "日", art_head[3].strip()art_title, art_date, art_source12345678910111213
2.2 一个文章的结果:文章插图
似乎看起来很不错~~下面我们只需要添加for循环,然后写入csv就可以了. : )
3 、爬取所有
head_url = ''one_Page_result = []for tail_url in tail_urls:# 拼接好了url,就请求,然后对网页解析total_url = head_url + tail_urlres=requests.get(total_url)soup = BeautifulSoup(res.content, 'lxml')# 获取文章的标题、日期、来源art_head = soup.find(class_="title-box").get_text().split("\n")art_title, art_date, art_source = art_head[1], art_head[2].split("日")[0] + "日", art_head[3].strip()# 获取正文art_content = soup.find(class_="content-l detail").get_text()one_Page_result.append(art_title)one_Page_result.append(art_date)one_Page_result.append(art_source)one_Page_result.append(art_content)with open("art_All.csv", "a+") as f:writer = csv.writer(f, dialect="excel")# 基于文件对象构建 csv写入对象csv_write = csv.writer(f)csv_data = http://kandian.youth.cn/index/one_Page_result # 存入csv_write.writerow(csv_data)f.close()print(art_title, art_date+"写入成功", "标记:"+tail_url)123456789101112131415161718192021222324252627
爬取结果:文章插图
最后(爬虫)声明:我贼怂, 如果本篇文章涉及了某平台的利益,请联系我,立马删除本篇仅供参考学习,如若用于商业用途,后果自负.
- 闲鱼|电诉宝:“闲鱼”网络欺诈成用户投诉热点 Q3获“不建议下单”评级
- 王兴称美团优选目前重点是建设核心能力;苏宁旗下云网万店融资60亿元;阿里小米拟增资居然之家|8点1氪 | 美团
- 手机基带|为了5G降低4G网速?中国移动回应来了:罪魁祸首不是运营商
- 互联网|苏宁跳出“零售商”重组互联网平台业务 融资60亿只是第一步
- 峰会|这场峰会厉害了!政府企业专家媒体共议网络内容生态治理
- 桌面|日常使用的软件及网站分享 篇一:几个动态壁纸软件和静态壁纸网站:助你美化你的桌面
- 互联网|强制收集个人信息?国家网信办拟为38类App戴紧箍
- 发展|我省要求互联网平台坚持依法合规经营 推动线上经济健康规范发展
- 荣耀V30|麒麟990+40W快充,昔日猛将彻底沦为清仓价?网友:太遗憾
- 健身房|乐刻韩伟:产业互联网中只做单环节很难让数据发挥大作用