其他
才上第八节课,就感觉像是女娲在补天
第八节课参考程序:
import requests
from bs4 import BeautifulSoup
url=input('请输入您要爬取的网址:') #动态输入网址
headers = {'User-Agent':'*'}#设置用户代理https://www.douban.com/
r=requests.get(url,headers=headers) #向网站服务器发送请求
print(r.status_code)
if r.status_code==200:
print('恭喜您!爬取成功!')
else:
print('很遗憾!爬取失败了!')
exit()#退出程序
r.encoding=r.apparent_encoding #修改编码方式
non_bmp = dict.fromkeys(range(0x010000, 0x10FFFF+1))#去掉乱七八糟的字符
html=r.text.translate(non_bmp) #网页的源代码
soup=BeautifulSoup(html,'html.parser') #解析源代码
text=soup.get_text().replace('\n\n','') #得到源代码中的文本数据
print(text) #输出文字内容
asc= dict.fromkeys(range(0x00, 0x7F+1))#去掉ASCII码字符
for x in range(0,128):#遍历ASCII码
if (48<=x<=57 or 65<=x<=90 or 97<=x<=122 or x==95):#条件
del(asc[x])#删除字典里的键值对
title=soup.title.text.translate(asc) #得到title标签的内容
print(title) #输出文字内容
with open(title+".txt","w",encoding=r.encoding,errors='ignore') as f:
f.write(text)#将爬取的小说写进记事本文件中
八节课的程序代码,积累起来就是一个25行的程序了。
一开始,我只是想用爬虫来做项目进行教学更容易激发学生的学习兴趣,在上课的过程当中,才发现:爬虫所涉及到的知识简直就像女娲补天一样,范围实在太广了。
从补编码知识,到补HTML源代码知识,到现在还要补进制转换知识……还包括文件命名、文件读写等各种各样的信息技术相关知识。
原来觉得零散没有什么关联的知识点,自从开始做爬虫项目,才知道它们原来在应用的时候,都是有相关性的。
都讲到这一步了,第九节课就不得不先上for循环了,然后再结合for语句再上多分支选择结构吧!不知道到了期末,这个程序将会有多长?O(∩_∩)O哈哈~感觉我们在搞大项目。