aminer中爬取数据正则表达式的写法
一、是什么?
// 以该条为例子
url_list = re.findall('"url":\"(.*?)\"', browser_2.page_source, re.S)
//第一个参数表示符合这个格式的,其中.表任意字符,*表示任意数目,?表示非贪婪规则。如果你不加(),那么你返回的是整个字符串,加了(),你返回的是()里的东西。
//第二个参数是你正则re寻找的源文件
//re.S 表示的是正则模式:这一行找不到不中断,继续下一行
二、使用步骤
代码如下(示例):
try:
url_list = re.findall('"url":\"(.*?)\"', browser_2.page_source, re.S)
homepage=[]
for url in url_list:
homepage=homepage+[url.replace("\\u002F", "/")]
# details = browser_2.find_element_by_xpath('//*[@class="expert_info_content"]')
# homepage = details.find_elements_by_xpath('//*[@class="homepage baseInfo"]')
# h = []
# for url in homepage:
# h = h + [url.text]
# print(h)
except:
homepage="no homepage"
try:
papers = re.findall('"pubs":(.*?)}', browser_2.page_source, re.S)
except:
papers = "no papers"
try:
citation = re.findall('"citations":(.*?),', browser_2.page_source, re.S)
except:
citation = "no citation"
try:
hindex = re.findall('"hindex":(.*?),', browser_2.page_source, re.S)
except:
hindex = "no hindex"