python爬虫案例(有缺陷文末说明)爬取初中英语练习题
作者:互联网
应表哥要求给侄子爬取一点英语练习题作为寒假附加作业
爬取内容如下
网址如下
# https://xiaoxue.hujiang.com/xsc/yingyu/p342265/ # https://xiaoxue.hujiang.com/xsc/yingyu/p342290/
区别为最后的p342265到p342290
而且网页为静态网页,所需内容在p标签内(有一点点是不需要的)
代码如下:
#导入所需要的模块
import time
import requests
import re
#访问的url
url='https://xiaoxue.hujiang.com/xsc/yingyu/p3422%s/'
#设置windows代理头
headers = {
'user-agent':'Mozilla/5.0 (Windows; U; Windows NT 6.1; en-us) AppleWebKit/534.50 (KHTML, like Gecko) Version/5.1 Safari/534.50'
}
#循环填充并爬取
for i in range(65,91):
respone=requests.get(url%i,headers=headers,timeout=3)
time.sleep(0.25)
#利用正则获取所需内容
data1=re.findall(r'<p.*?>\r\n\t(.*?)</p>',respone.text,re.S)
data2=str(data1)
#写入txt文件
p=open('english.txt','a',encoding='utf-8')
p.write(data2+'\n')
#以” ’,“为分界线添加换行
f1 = open("english.txt","r",encoding='utf-8')
content = f1.read()
t = content.replace("',","\n")
with open("eng.txt","w") as f2:
f2.write(t)
但是仅仅这样的话是有一些缺陷的,
(1)h1的标题没有插入对应内容之上
(2)出现内容之下的不必要内容,因为这些也在p标签内,手动或则匹配删除
(3)会出现一部分字符乱码的情况:
“=="
’=='
—==—
(4)# https://xiaoxue.hujiang.com/xsc/yingyu/p342290/页面内会出现第二页或则第三页的,这是一开始没有注意到的,可自行爬取添加
可以通过直接打卡txt文件直接全部替换相应字符完成
我侄子看到这作业也是很开心的
最后:小白初学,还有不足,不喜勿喷,请诸君多多指教
本文作为练习文章供其补充完善,不足之处请各位自己行完善。
标签:练习题,com,hujiang,爬取,xsc,初中英语,https,txt,文末 来源: https://blog.csdn.net/qpp77/article/details/122751136