爬取赶集网租房信息
使用正则表达式获取房源标题、户型、面积、价格
import requests
import redef parse_page(page_url):print(page_url)headers = {'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/73.0.3683.103 Safari/537.36'}resp = requests.get(page_url,headers=headers)text = resp.texthouses = re.findall(r"""(.+?) # 获取房源的标题.+?(.+?) # 获取房源的户型.+?(.+?) # 获取房源的面积.+?(.+?) # 获取房源的价格""",text,re.VERBOSE|re.DOTALL)for house in houses:print(house)def main():base_url = "http://cs.ganji.com/zufang/pn{}/"for x in range(1,11):page_url = base_url.format(x)parse_page(page_url)breakif __name__ == '__main__':main()

总结:
1. 如果想要让.代表所有的字符,那么需要在函数后面加re.DOTALL来表示,否则不会代表\n,也就是换行。
2. 获取数据的时候,都要用非贪婪模式.
3. 如果正则写得不对,那么获取不到结果,程序会假死,这时候可以把你刚刚写的正则删掉,重新运行下,看下程序还会不会假死,如果不会假死了,说明正则写得有问题,这是就要去调整了。
4. 如果正则写的有问题,那么不要去钻牛角尖,去更换一个思路就可以了。
本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!
