版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/Yk_0311/article/details/81813346
爬取的内容:浙江省各地区的邮编
import requests
from bs4 import BeautifulSoup
import re
def getHTMLText(url):
try:
kv = {'user-agent': 'Mozilla/5.0'} # 模拟浏览器进行访问
r = requests.get(url, headers=kv)
r.raise_for_status() # 如果状态不是200,抛出HTTPError异常
r.encoding = r.apparent_encoding
return r.text
except:
print("-----")
def parsePage(html, ulist):
soup = BeautifulSoup(html, "html.parser") # 解析
message1 = soup.find_all("tr", attrs={"bgcolor": "#ffffff"}) # 找到所有tr标签且有属性限制,返回的是一个列表
print(message1) # 测试
message2 = re.findall(r"[1-9]\d{5}", html) # 在html中找到邮政编码
message2.remove("336699")
message2.remove("229981")
message2.remove("100134")
# 删除其中不符合的数据,怎么知道删除的具体数据?看页面中数据开头和结尾,显然着这三个数据是不包含在里面的
print(message2) # 测试
ls = [] # 用来存储数据
# 找到地区
for tr in message1:
location = tr("a") # 位置信息存储在a标签中,返回的是一个列表
length = len(location)
for i in range(length):
ls.append(location[i].string) # 存储了信息
for i in range(len(ls)):
ulist.append([ls[i], message2[i]])
def Print(Olist): # 打印输出
tplt = "{:^10}\t{:^8}"
print(tplt.format("地区", '邮编'))
for i in range(len(Olist)):
print(tplt.format(Olist[i][0], Olist[i][1]))
def main():
url = 'http://alexa.ip138.com/post/zhejiang/' # 地址
Olist = [] # 将爬取的信息添加到列表
html = getHTMLText(url)
parsePage(html, Olist)
Print(Olist) # 打印出来
main()
输出:
D:\anaconda\python.exe D:/IDE/Pycharm/Spider/邮政编码/邮政编码.py
[<tr bgcolor="#ffffff"><td><a href="hangzhou/"><b>杭州市</b></a></td></tr>, <tr bgcolor="#ffffff"><td><a href="/post/zhejiang/hangzhou/chunan/">淳安县</a></td><td>311700</td><td>0571</td><td><a href="/post/zhejiang/hangzhou/fuyang/">富阳市</a></td><td>311300</td><td>0571</td></tr>, <tr bgcolor="#ffffff"><td><a href="/post/zhejiang/hangzhou/gongshu/">拱墅区</a></td><td>310000</td><td>0571</td><td><a href="/post/zhejiang/hangzhou/linan/">临安市</a></td><td>311300</td><td>0571</td></tr>, <tr bgcolor="#ffffff"><td><a href="/post/zhejiang/hangzhou/binjiang/">滨江区</a></td><td>310000</td><td>0571</td><td><a href="/post/zhejiang/hangzhou/jiande/">建德市</a></td><td>311400</td><td>0571</td></tr>, <tr bgcolor="#ffffff"><td><a href="/post/zhejiang/hangzhou/jianggai/">江干区</a></td><td>310000</td><td>0571</td><td><a href="/post/zhejiang/hangzhou/shangcheng/">上城区</a></td><td>310000</td><td>0571</td></tr>, <tr bgcolor="#ffffff"><td><a href="/post/zhejiang/hangzhou/xihu/">西湖区</a></td><td>310000</td><td>0571</td><td><a href="/post/zhejiang/hangzhou/xiaoshan/">萧山区</a></td><td>311200</td><td>0571</td></tr>, <tr bgcolor="#ffffff"><td><a href="/post/zhejiang/hangzhou/tonglu/">桐庐县</a></td><td>311500</td><td>0571</td><td><a href="/post/zhejiang/hangzhou/xiacheng/">下城区</a></td><td>310000</td><td>0571</td></tr>, <tr bgcolor="#ffffff"><td><a href="/post/zhejiang/hangzhou/yuhang/">余杭区</a></td><td>311100</td><td>0571</td><td> </td><td> </td><td> </td></tr>, <tr bgcolor="#ffffff"><td><a href="ningbo/"><b>宁波市</b></a></td></tr>, <tr bgcolor="#ffffff"><td><a href="/post/zhejiang/ningbo/beilun/">北仑区</a></td><td>315800</td><td>0574</td><td><a href="/post/zhejiang/ningbo/ciei/">慈溪市</a></td><td>315300</td><td>0574</td></tr>, <tr bgcolor="#ffffff"><td><a href="/post/zhejiang/ningbo/jiangdong/">江东区</a></td><td>315000</td><td>0574</td><td><a href="/post/zhejiang/ningbo/fenghua/">奉化市</a></td><td>315500</td><td>0574</td></tr>, <tr bgcolor="#ffffff"><td><a href="/post/zhejiang/ningbo/haishu/">海曙区</a></td><td>315000</td><td>0574</td><td><a href="/post/zhejiang/ningbo/ninghai/">宁海县</a></td><td>315600</td><td>0574</td></tr>, <tr bgcolor="#ffffff"><td><a href="/post/zhejiang/ningbo/xiangshan/">象山县</a></td><td>315600</td><td>0574</td><td><a href="/post/zhejiang/ningbo/yuyao/">余姚市</a></td><td>315400</td><td>0574</td></tr>, <tr bgcolor="#ffffff"><td><a href="/post/zhejiang/ningbo/yinzhou/">鄞州区</a></td><td>315000</td><td>0574</td><td><a href="/post/zhejiang/ningbo/zhenhai/">镇海区</a></td><td>315100</td><td>0574</td></tr>, <tr bgcolor="#ffffff"><td><a href="/post/zhejiang/ningbo/jiangbei/">江北区</a></td><td>315000</td><td>0574</td><td> </td><td> </td><td> </td></tr>, <tr bgcolor="#ffffff"><td><a href="lishui/"><b>丽水市</b></a></td></tr>, <tr bgcolor="#ffffff"><td><a href="/post/zhejiang/lishui/kemtian/">青田县</a></td><td>323900</td><td>0578</td><td><a href="/post/zhejiang/lishui/qingyuan/">庆元县</a></td><td>323800</td><td>0578</td></tr>, <tr bgcolor="#ffffff"><td><a href="/post/zhejiang/lishui/jinyun/">缙云县</a></td><td>321400</td><td>0578</td><td><a href="/post/zhejiang/lishui/jingning/">景宁畲族自治县</a></td><td>323500</td><td>0578</td></tr>, <tr bgcolor="#ffffff"><td><a href="/post/zhejiang/lishui/liandou/">莲都区</a></td><td>323000</td><td>0578</td><td><a href="/post/zhejiang/lishui/longquan/">龙泉市</a></td><td>323700</td><td>0578</td></tr>, <tr bgcolor="#ffffff"><td><a href="/post/zhejiang/lishui/songyang/">松阳县</a></td><td>323400</td><td>0578</td><td><a href="/post/zhejiang/lishui/suichang/">遂昌县</a></td><td>323300</td><td>0578</td></tr>, <tr bgcolor="#ffffff"><td><a href="/post/zhejiang/lishui/yunhe/">云和县</a></td><td>323600</td><td>0578</td><td> </td><td> </td><td> </td></tr>, <tr bgcolor="#ffffff"><td><a href="quzhou/"><b>衢州市</b></a></td></tr>, <tr bgcolor="#ffffff"><td><a href="/post/zhejiang/quzhou/changshan/">常山县</a></td><td>324200</td><td>0570</td><td><a href="/post/zhejiang/quzhou/kaihua/">开化县</a></td><td>324300</td><td>0570</td></tr>, <tr bgcolor="#ffffff"><td><a href="/post/zhejiang/quzhou/jiangshan/">江山市</a></td><td>323000</td><td>0570</td><td><a href="/post/zhejiang/quzhou/kecheng/">柯城区</a></td><td>324000</td><td>0570</td></tr>, <tr bgcolor="#ffffff"><td><a href="/post/zhejiang/quzhou/longyou/">龙游县</a></td><td>324400</td><td>0570</td><td><a href="/post/zhejiang/quzhou/qujiang/">衢江区</a></td><td>324000</td><td>0570</td></tr>, <tr bgcolor="#ffffff"><td><a href="shaoxin/"><b>绍兴市</b></a></td></tr>, <tr bgcolor="#ffffff"><td><a href="/post/zhejiang/shaoxin/shaoxin/">绍兴县</a></td><td>312000</td><td>0575</td><td><a href="/post/zhejiang/shaoxin/shengzhou/">嵊州市</a></td><td>312400</td><td>0575</td></tr>, <tr bgcolor="#ffffff"><td><a href="/post/zhejiang/shaoxin/xinchang/">新昌县</a></td><td>312500</td><td>0575</td><td><a href="/post/zhejiang/shaoxin/yuecheng/">越城区</a></td><td>312000</td><td>0575</td></tr>, <tr bgcolor="#ffffff"><td><a href="/post/zhejiang/shaoxin/zhuji/">诸暨市</a></td><td>311800</td><td>0575</td><td><a href="/post/zhejiang/shaoxin/shangyu/">上虞市</a></td><td>312300</td><td>0575</td></tr>, <tr bgcolor="#ffffff"><td><a href="jiaxin/"><b>嘉兴市</b></a></td></tr>, <tr bgcolor="#ffffff"><td><a href="/post/zhejiang/jiaxin/haiyan/">海盐县</a></td><td>314300</td><td>0573</td><td><a href="/post/zhejiang/jiaxin/jiashan/">嘉善县</a></td><td>314100</td><td>0573</td></tr>, <tr bgcolor="#ffffff"><td><a href="/post/zhejiang/jiaxin/pinghu/">平湖市</a></td><td>314200</td><td>0573</td><td><a href="/post/zhejiang/jiaxin/haining/">海宁市</a></td><td>314400</td><td>0573</td></tr>, <tr bgcolor="#ffffff"><td><a href="/post/zhejiang/jiaxin/xiucheng/">秀城区</a></td><td>314000</td><td>0573</td><td><a href="/post/zhejiang/jiaxin/xiuzhou/">秀洲区</a></td><td>314000</td><td>0573</td></tr>, <tr bgcolor="#ffffff"><td><a href="/post/zhejiang/jiaxin/tongxiang/">桐乡市</a></td><td>314500</td><td>0573</td><td> </td><td> </td><td> </td></tr>, <tr bgcolor="#ffffff"><td><a href="wenzhou/"><b>温州市</b></a></td></tr>, <tr bgcolor="#ffffff"><td><a href="/post/zhejiang/wenzhou/leqing/">乐清市</a></td><td>325200</td><td>0577</td><td><a href="/post/zhejiang/wenzhou/lucheng/">鹿城区</a></td><td>325000</td><td>0577</td></tr>, <tr bgcolor="#ffffff"><td><a href="/post/zhejiang/wenzhou/ouhai/">瓯海区</a></td><td>325000</td><td>0577</td><td><a href="/post/zhejiang/wenzhou/ruian/">瑞安市</a></td><td>325200</td><td>0577</td></tr>, <tr bgcolor="#ffffff"><td><a href="/post/zhejiang/wenzhou/cangnan/">苍南县</a></td><td>325800</td><td>0577</td><td><a href="/post/zhejiang/wenzhou/dongtou/">洞头县</a></td><td>325100</td><td>0577</td></tr>, <tr bgcolor="#ffffff"><td><a href="/post/zhejiang/wenzhou/longwan/">龙湾区</a></td><td>325000</td><td>0577</td><td><a href="/post/zhejiang/wenzhou/pingyang/">平阳县</a></td><td>325400</td><td>0577</td></tr>, <tr bgcolor="#ffffff"><td><a href="/post/zhejiang/wenzhou/taishun/">泰顺县</a></td><td>325200</td><td>0577</td><td><a href="/post/zhejiang/wenzhou/wencheng/">文成县</a></td><td>325300</td><td>0577</td></tr>, <tr bgcolor="#ffffff"><td><a href="/post/zhejiang/wenzhou/yongjia/">永嘉县</a></td><td>325100</td><td>0577</td><td> </td><td> </td><td> </td></tr>, <tr bgcolor="#ffffff"><td><a href="zhoushan/"><b>舟山市</b></a></td></tr>, <tr bgcolor="#ffffff"><td><a href="/post/zhejiang/zhoushan/daishan/">岱山县</a></td><td>316200</td><td>0580</td><td><a href="/post/zhejiang/zhoushan/dinghai/">定海区</a></td><td>316000</td><td>0580</td></tr>, <tr bgcolor="#ffffff"><td><a href="/post/zhejiang/zhoushan/shengsi/">嵊泗县</a></td><td>202400</td><td>0580</td><td><a href="/post/zhejiang/zhoushan/putuo/">普陀区</a></td><td>316100</td><td>0580</td></tr>, <tr bgcolor="#ffffff"><td><a href="huzhou/"><b>湖州市</b></a></td></tr>, <tr bgcolor="#ffffff"><td><a href="/post/zhejiang/huzhou/changxin/">长兴县</a></td><td>313100</td><td>0572</td><td><a href="/post/zhejiang/huzhou/deqing/">德清县</a></td><td>313200</td><td>0572</td></tr>, <tr bgcolor="#ffffff"><td><a href="/post/zhejiang/huzhou/anji/">安吉县</a></td><td>313300</td><td>0572</td><td><a href="/post/zhejiang/huzhou/nanxun/">南浔区</a></td><td>313000</td><td>0572</td></tr>, <tr bgcolor="#ffffff"><td><a href="/post/zhejiang/huzhou/wuxin/">吴兴区</a></td><td>313000</td><td>0572</td><td> </td><td> </td><td> </td></tr>, <tr bgcolor="#ffffff"><td><a href="jinhua/"><b>金华市</b></a></td></tr>, <tr bgcolor="#ffffff"><td><a href="/post/zhejiang/jinhua/jindong/">金东区</a></td><td>321000</td><td>0579</td><td><a href="/post/zhejiang/jinhua/lanei/">兰溪市</a></td><td>321100</td><td>0579</td></tr>, <tr bgcolor="#ffffff"><td><a href="/post/zhejiang/jinhua/panan/">磐安县</a></td><td>322300</td><td>0579</td><td><a href="/post/zhejiang/jinhua/dongyang/">东阳市</a></td><td>321300</td><td>0579</td></tr>, <tr bgcolor="#ffffff"><td><a href="/post/zhejiang/jinhua/pujiang/">浦江县</a></td><td>322200</td><td>0579</td><td><a href="/post/zhejiang/jinhua/wui/">武义县</a></td><td>321000</td><td>0579</td></tr>, <tr bgcolor="#ffffff"><td><a href="/post/zhejiang/jinhua/yongkang/">永康市</a></td><td>321300</td><td>0579</td><td><a href="/post/zhejiang/jinhua/wucheng/">婺城区</a></td><td>321000</td><td>0579</td></tr>, <tr bgcolor="#ffffff"><td><a href="/post/zhejiang/jinhua/iwu/">义乌市</a></td><td>322000</td><td>0579</td><td> </td><td> </td><td> </td></tr>, <tr bgcolor="#ffffff"><td><a href="taizhou/"><b>台州市</b></a></td></tr>, <tr bgcolor="#ffffff"><td><a href="/post/zhejiang/taizhou/jiaojiang/">椒江区</a></td><td>318000</td><td>0576</td><td><a href="/post/zhejiang/taizhou/luqiao/">路桥区</a></td><td>318000</td><td>0576</td></tr>, <tr bgcolor="#ffffff"><td><a href="/post/zhejiang/taizhou/huangyan/">黄岩区</a></td><td>318000</td><td>0576</td><td><a href="/post/zhejiang/taizhou/linhai/">临海市</a></td><td>317000</td><td>0576</td></tr>, <tr bgcolor="#ffffff"><td><a href="/post/zhejiang/taizhou/tiantai/">天台县</a></td><td>317200</td><td>0576</td><td><a href="/post/zhejiang/taizhou/wenling/">温岭市</a></td><td>317500</td><td>0576</td></tr>, <tr bgcolor="#ffffff"><td><a href="/post/zhejiang/taizhou/yuhuan/">玉环县</a></td><td>317600</td><td>0576</td><td><a href="/post/zhejiang/taizhou/sanmen/">三门县</a></td><td>317100</td><td>0576</td></tr>, <tr bgcolor="#ffffff"><td><a href="/post/zhejiang/taizhou/xianju/">仙居县</a></td><td>317300</td><td>0576</td><td> </td><td> </td><td> </td></tr>]
['310000', '311700', '311300', '310000', '311300', '310000', '311400', '310000', '310000', '310000', '311200', '311500', '310000', '311100', '315000', '315800', '315300', '315000', '315500', '315000', '315600', '315600', '315400', '315000', '315100', '315000', '321400', '323900', '323800', '321400', '323500', '323000', '323700', '323400', '323300', '323600', '323000', '324200', '324300', '323000', '324000', '324400', '324000', '311800', '312000', '312400', '312500', '312000', '311800', '312300', '314000', '314300', '314100', '314200', '314400', '314000', '314000', '314500', '325000', '325200', '325000', '325000', '325200', '325800', '325100', '325000', '325400', '325200', '325300', '325100', '316000', '316200', '316000', '202400', '316100', '313000', '313100', '313200', '313300', '313000', '313000', '321000', '321000', '321100', '322300', '321300', '322200', '321000', '321300', '321000', '322000', '317000', '318000', '318000', '318000', '317000', '317200', '317500', '317600', '317100', '317300']
地区 邮编
杭州市 310000
淳安县 311700
富阳市 311300
拱墅区 310000
临安市 311300
滨江区 310000
建德市 311400
江干区 310000
上城区 310000
西湖区 310000
萧山区 311200
桐庐县 311500
下城区 310000
余杭区 311100
宁波市 315000
北仑区 315800
慈溪市 315300
江东区 315000
奉化市 315500
海曙区 315000
宁海县 315600
象山县 315600
余姚市 315400
鄞州区 315000
镇海区 315100
江北区 315000
丽水市 321400
青田县 323900
庆元县 323800
缙云县 321400
景宁畲族自治县 323500
莲都区 323000
龙泉市 323700
松阳县 323400
遂昌县 323300
云和县 323600
衢州市 323000
常山县 324200
开化县 324300
江山市 323000
柯城区 324000
龙游县 324400
衢江区 324000
绍兴市 311800
绍兴县 312000
嵊州市 312400
新昌县 312500
越城区 312000
诸暨市 311800
上虞市 312300
嘉兴市 314000
海盐县 314300
嘉善县 314100
平湖市 314200
海宁市 314400
秀城区 314000
秀洲区 314000
桐乡市 314500
温州市 325000
乐清市 325200
鹿城区 325000
瓯海区 325000
瑞安市 325200
苍南县 325800
洞头县 325100
龙湾区 325000
平阳县 325400
泰顺县 325200
文成县 325300
永嘉县 325100
舟山市 316000
岱山县 316200
定海区 316000
嵊泗县 202400
普陀区 316100
湖州市 313000
长兴县 313100
德清县 313200
安吉县 313300
南浔区 313000
吴兴区 313000
金华市 321000
金东区 321000
兰溪市 321100
磐安县 322300
东阳市 321300
浦江县 322200
武义县 321000
永康市 321300
婺城区 321000
义乌市 322000
台州市 317000
椒江区 318000
路桥区 318000
黄岩区 318000
临海市 317000
天台县 317200
温岭市 317500
玉环县 317600
三门县 317100
仙居县 317300
主要内容
正则表达式的使用
bs4对页面内容的查找方法