php抓取网页表格信息(Python实训报告实训内容-循环创建文件以及动态生成新闻标题 )

优采云 发布时间: 2022-01-27 19:10

  php抓取网页表格信息(Python实训报告实训内容-循环创建文件以及动态生成新闻标题

)

  Python训练报告

  培训内容:

  编写新闻信息抓取程序,抓取页面的新闻信息数据,并保存在本地文本文件中,为每条新闻保存一个记事本,记事本动态生成并以新闻标题命名。理工学院新闻通知页面:

  一。所需基本知识:

  发送网络请求的正则表达式的简单应用 漂亮的soup库的应用,判断文件是否存在于os模块中。循环创建文件和动态生成新闻标题

  二。项目设计思路:

  任务:

  抢夺南洋理工学院官网新闻内容()

  实验过程:确定爬取目标,制定爬取规则,编写/调试爬取代码,获取爬取数据,并将爬取数据单独保存到本地文件

  三。总结与经验:

  这个实验让我深刻地体会到,实践带来真知,再多看书、看视频,还不如自己写代码。写代码的过程中会出现各种错误,把错误信息复制粘贴到百度,可以看到很多博客和自己一样的错误,比如使用beautifulsoup,使用正则表达式获取a下的信息tag 我不熟悉正则表达式的应用。经过不断的测试,终于拿到了。后来使用网页解析器BeautifulSoup,很容易抓取网页信息。

  同时,这个实验让我更加熟悉了python的使用,加深了我对python的兴趣。

  四。实施过程:

  1.首先导入 os , requests , re modules, web parser BeautifulSoup

  代码:

  import requests

import re

import os

from bs4 import BeautifulSoup

  2.名为 response1 的响应对象接收网页信息。

  代码:

  url = 'http://oa.nyist.edu.cn/oo.php'

response1 = requests.get(url)

  3.输出格式设置为utf-8

  代码:

  response1.encoding = 'utf-8'

  一个名为 html 的变量获取网页的信息

  代码:

  html = response1.text

  使用BeautifulSoup解析网页,抓取a标签下的内容

  代码:

  soup = BeautifulSoup(html,'html.parser')

links = soup.find_all('a')

  两层 for 循环使用 BeautifulSoup 来捕获网页信息。第一层for循环循环官网页面的链接,第二层for循环循环点击链接后的网页信息。并在循环下创建一个以这个名字命名的文件,并在其中输入这个网页的内容。

  代码:

  for ii in links:

    url = "http://oa.nyist.edu.cn/"+ii['href']

    response2 = requests.get(url)

# response2.encoding = 'UTF-8'

    response2.encoding = response2.apparent_encoding

    html = response2.text

    # print(html)

    soup = BeautifulSoup(html,'html.parser')

    links1 = soup.find_all('td')

    for link in links1:

        file_handdle = open(ii.text+'.txt', mode='a',encoding='utf-8')

        file_handdle.write(link.text)

    file_handdle.close()

    if(os.path.exists(ii.text+'.txt')):

        file_handdle = open(ii.text+ '.txt', mode='r', encoding='utf-8')

        content = file_handdle.read()

        print(content)

0 个评论

要回复文章请先登录注册


官方客服QQ群

微信人工客服

QQ人工客服


线