码迷,mamicode.com
首页 > 其他好文 > 详细

2017年全国房价工资排行榜

时间:2019-04-21 23:01:08      阅读:294      评论:0      收藏:0      [点我收藏+]

标签:odi   工资   parse   rom   bsp   test   imp   ike   txt   

1.代码

#coding=utf-8
import requests
import bs4
import re
import openpyxl
def open_url(url):
    headers={"user-agent": "Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/73.0.3683.86 Safari/537.36"}
    res=requests.get(url,headers=headers)

    return res

def find_data(res):
    data=[]
    soup=bs4.BeautifulSoup(res.text,"html.parser")
    content=soup.find(id="Cnt-Main-Article-QQ")
    target=content.find_all("p",style="TEXT-INDENT: 2em")
    target=iter(target)

    for each in target:
       if each.text.isnumeric():
           data.append([re.search(r\[(.+)\],next(target).text).group(1),
                        re.search(r\d.*,next(target).text).group(),
                        re.search(r\d.*,next(target).text).group(),
                        re.search(r\d.*,next(target).text).group()])
    return data

def to_excel(data):
    wb=openpyxl.Workbook()
    wb.gusee_types=True
    ws=wb.active
    ws.append([城市,"平均房价","平均工资","房价工资比"])
    for each in data:
        ws.append(each)

    wb.save("2017全国城市房价 工资排行榜.xlsx")
def main():
    url="https://news.house.qq.com/a/20170702/003985.htm"
    res=open_url(url)
    data = find_data(res)
    to_excel(data)

    with open("test.txt","w",encoding="utf-8") as file:
        file.write(res.text)
if __name__=="__main__":
    main()

 

2017年全国房价工资排行榜

标签:odi   工资   parse   rom   bsp   test   imp   ike   txt   

原文地址:https://www.cnblogs.com/utopia666/p/10706025.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!