最近因为工作需要,需要从百度百科获得全国近3000个县区的位置、地貌、气候、水文等地理信息。因为自己对爬虫有些兴趣,就尝试用Python爬虫来获得这些数据,也算是自己对爬虫的学习过程吧。因为学习爬虫不久,代码有不规范的地方还望指出。
要获得信息,首先要对待爬取的网址进行分析。在百度百科中搜索朝阳区,发现通过网址 https://baike.baidu.com/item/朝阳区 就可以打开朝阳区的百科页面了。那是不是意味着只有最后一个参数是需要爬取的县区名称,前面部分的URL都相同呢?为了验证这个猜测,将最后的最后一位参数换成大兴区: https://baike.baidu.com/item/大兴区 ,果然打开之后就是大兴区的百科信息,这证明上面的猜想是正确的。在获得全国县区的列表后,就可以获得待爬取的网址列表了,相关代码如下:
import requests
import re
import time
import datetime
import pandas as pd
#读取省市县名
file_county = pd.read_excel(r"C:\Users\Administrator\Desktop\学校事务\爬虫\省市县.xlsx")
#选取县区列
county_name = list(file_county['县(区)'])
#选前十个县区做实验
county_head = county_name[0:5]
#将URL拼接起来做真正的爬虫网址
url1 = &