实验 1:爬取网页中的数据。
要求:使用 urllib 库和 requests 库分别爬取 http://www.sohu.com 首页的前 360 个字节的数据。
# 要求:使用 urllib 库和 requests 库分别爬取 http://www.sohu.com 首页的前 360 个字节的数据。
import urllib.request
import requests
# 使用 urllib 库爬取 http://www.sohu.com 首页的前 360 个字节的数据。
url = 'http://www.sohu.com'
req = urllib.request.Request(url)
res = urllib.request.urlopen(req)
data = res.read(360)
print(data)
# 使用 requests 库爬取 http://www.sohu.com 首页的前 360 个字节的数据。
#url = 'http://www.sohu.com'
#res = requests.get(url)
#data = res.content[:360]
#print(data)
实验 2:测试 BeautifulSoup 对象的方法。
要求:
1)创建 BeautifulSoup 对象。
2)测试搜索文档树的 find_all()方法和 find()方法。
# 实验 2:测试 BeautifulSoup 对象的方法。
# 要求:
# 1)创建 BeautifulSoup 对象。
# 2)测试搜索文档树的 find_all()方法和 find()方法。
from bs4 import BeautifulSoup
import requests
# 过http请求加载网页
response = requests.get("http://www.sohu.com")
# 创建BeautifulSoup对象
soup = BeautifulSoup(response.text, "html.parser")
# 搜索文档树的find_all()方法
print(soup.find_all("a"))
# 搜索文档树的find()方法
print(soup.find("a"))
实验 3:爬取并分析网页页面数据。
(1)使用requests库爬取https://www.hnnu.edu.cn/main.htm首页内容。
(2)编写程序获取https://www.hnnu.edu.cn/119/list.htm的通知公告的信息。
# 实验 3:爬取并分析网页页面数据。
# (1)使用requests库爬取https://www.hnnu.edu.cn/main.htm首页内容。
# (2)编写程序获取https://www.hnnu.edu.cn/119/list.htm的通知公告的信息。
import requests
from bs4 import BeautifulSoup
url = 'https://www.hnnu.edu.cn/main.htm'
res = requests.get(url)
soup = BeautifulSoup(res.text,'html.parser')
print(soup.find_all('a'))
print(soup.find('a'))
for i in range(1,23,1):
url = 'https://www.hnnu.edu.cn/119/list.htm{}.htm'.format(i)
res = requests.get(url)
soup = BeautifulSoup(res.text,'html.parser')
print("-------------------------------------------------------")
print(soup)
#print(soup.find('a'))
实验四:爬取关键词+制作词云
# 爬取关键字
from typing import List, Any
import requests
from bs4 import BeautifulSoup
urls=[]
for i in range(1,23):
urls.append('https://www.hnnu.edu.cn/gyxy/list'+str(i)+'.htm')# 这里改地址
def getURL(url):
r=requests.get(url)
r.encoding='utf-8'
return r.text
def getSoup(url):
txt=getURL(url)
soup=BeautifulSoup(txt,'html.parser')
return soup
def getContent(soup):
content=soup.find('ul',{'class':'news_list list2'})# ul对应的list
titles=[]
dates=[]
for item in content.find_all('li'):
# titles.append(item.a['title'])
date=item.find('span',{'class':'news_meta'})
# dates.append(date.string)
titles.append([date.string,item.a['title']])
return titles
articles=[]
for url in urls:
soup=getSoup(url)
articles.append(getContent(soup))
t=""
for item in articles:
t=t+(str)(item)
# 制作词云
import jieba
import wordcloud
jieba.add_word("淮南师范学院")
ls=jieba.lcut(t)
w=wordcloud.WordCloud(width=1000,height=700,background_color='white',font_path='simhei.ttf')
txt=" ".join(ls)
w.generate(txt)
w.to_file('out1.png')
文章来源:https://www.toymoban.com/news/detail-773404.html
文章来源地址https://www.toymoban.com/news/detail-773404.html
到了这里,关于Python实验项目9 :网络爬虫与自动化的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!