还剩1页未读,继续阅读
文本内容:
第十章正则表达式与简单爬虫
1.根据下列字符串的构成规律写出正则表达式,并尝试利用re库中的有关方法实现对测试字符串的匹配、搜索、切分、分组和替换操作
(1)E-mai I地址答案import reemail_pattern=[a-zA-ZO-
9._%+-]+©[a-zA-ZO-
9.-]+\.[a-zA-Z]{2,}$/ztest_string=zexample@example.com”if re.match(email_pattern,test_string):print(〃匹配成功〃,test string)else:print(〃匹配失败〃,test_string)⑵IPv4地址答案import reipv4_pattern=(?[0-9]{1,3}\.){3}[0-9]{1,3}$〃test_string=〃
192.
168.
1.1〃if re.match(ipv4_pattern,test_string):print(〃匹配成功test string)else:print(〃匹配失败〃,test string)⑶国内手机号码答案import rephone_pattern=[3-9]\d{9}$〃if re.match(phone_pattern,test_string):print(〃匹配成功“,test_string)else:print(〃匹配失败”,test string)
(4)国内电话号码(0开头的34位区号-58位号码)〜答案import retelephone_pattern=rO\d{2,3}-\d{5,8}$〃test_string=〃010-12345678〃if re.matchtelephone_pattern,test_string:print〃匹配成功〃,test_stringelse:print〃匹配失败“,test_string518位身份证号码不考虑大小月、闰月和校验规则o牧案.口-import reidcard pattern=r〃、d{17}[\dXx]$〃test_string=,,z,if re.matchid cardpattern,test string:print〃匹配成功〃,test_stringelse:print〃匹配失败〃,test string
2.创建简单爬虫程序,实现对静态网页例如,本校的院系主页昵图网知乎日报、淘宝网等中新闻标题、JPG、PNG、GIF图片或MP3等素材的自动下载简单的示例来实现对网页中的图片下载我们将使用Python的requests库进行网页请求,BeautifulSoup库进行页面解析,并使用urllib库进行文件下载首先,确保已安装所需的库您可以使用以下命令来安装它们pip installrequests beautifulsoup4接下来,我们将实现一个简单的图片下载器import osimportrequestsfrom bs4import BeautifulSoupfromurllib.parse importurljoindef download_imagesurl,save_folder:response=requests,get urlsoup=BeautifulSoupresponse,text,J html.parser,if notos.path,existssave_folder:os.makedirssave_folderfor imgtag insoup,find allimg,:img_url=img_tag.getsrc,if imgurl:img url=urljoinurl,img urlfilename=os.path.joinsave_folder,os.path.basenameimg_urldown1oad_fileimg_ur1,filenamedef download_fileurl,save_path:with requests,get url,stream=True asresponse:response.raise_for_statuswith opensave_path,wb asf:for chunkin response.iter_contentchunk_size=8192:f.writechunkif name==〃main〃url=https:〃example,com”#替换为您要爬取的网页URL save_folder=images”#图片保存目录,可以根据需要修改down1oad_images url,save_folder。