#coding:utf-8
import requests,os,csv
from bs4 import BeautifulSoup
url='http://www.51hao.cc'
req=requests.get(url)
req.encoding="gb2312"
soup=BeautifulSoup(req.text,'lxml')
fkts=soup.find_all("div",class_="fkt")
for fkt in fkts:
fkbj=fkt.find("div", class_="fkbj")
if fkbj:
city=fkbj.a.text
#print(city)
fklk = fkt.find("div", class_="fklk")
shis=fklk.find_all("a")
for shi in shis:
shi_ming=shi.text
shi_url=shi["href"]
#print(city,shi_ming,shi_url)
req2=requests.get(shi_url)
req2.encoding = 'gb2312'
soup2 = BeautifulSoup(req2.text, 'lxml')
nums=soup2.find_all("div",class_="num_bg")
ul=soup2.find_all("ul")
#print(len(nums))
#print(len(ul))
for num in range(0,len(nums)):
haoduans=nums[num]
haoduanuls=ul[num]
haoduan=haoduans.find("span").text
haoduanul=haoduans.text
#print(haoduan,haoduanul)
li_list=haoduanuls.find_all("a")
for li in li_list:
haoma=li.text
#print(haoma)
#print(city,shi_ming,shi_url,haoduan,haoduanul,haoma)
#写入CSV
base_dir=os.path.abspath(__file__)
#print(base_dir)
parent_dir=os.path.dirname(base_dir)
#print(parent_dir)
menu_dir=os.path.join(parent_dir,"号段查询")
if os.path.isdir(menu_dir):
pass
else:
os.mkdir(menu_dir)
os.chdir(menu_dir)
file_name='haoduan.csv'
file=os.path.join(menu_dir,file_name)
with open(file,"a",encoding="utf8") as fp:
write=csv.writer(fp)
write.writerow(city,shi_ming,shi_url,haoduan,haoduanul,haoma)
【Python爬虫】Beautiful Soup爬号码段
最后编辑于 :
©著作权归作者所有,转载或内容合作请联系作者
- 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
- 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
- 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
推荐阅读更多精彩内容
- 在前几篇文章,我们学会了如何获取html文档内容,就是从url下载网页。今天开始,我们将讨论如何将html转成py...
- 大家好,上次我们实验了爬取了糗事百科的段子,那么这次我们来尝试一下爬取百度贴吧的帖子。与上一篇不同的是,这次我们需...
- Python爬虫——Beautiful Soup的用法 学习自崔庆才的个人博客静觅文章地址:http://cuiq...