这是老师的例子
import sys,re
from pyquery import PyQuery as pq
#reload(sys)
import importlib,sys
importlib.reload(sys)
# 爬取指定URL的内容返回JSON
# corpus_id -> 语料编号
# src_lang -> 源语言
# tgt_lang -> 目标语言
# author -> 发布者
# src_text -> 源文本
# tgt_text -> 目标文本
def get_page_content(page_url):
d = pq(url=page_url)
objs = d('#tmTable').children('.row-fluid')
data = []
if objs:
for i in range(0,len(objs)):
corpus_id = objs.eq(i).attr('data-tmbunch-id')
src_lang = objs.eq(i)('.span6').eq(0)('sup').text()
tgt_lang = objs.eq(i)('.span6').eq(1)('sup').text()
author = objs.eq(i)('.span6').eq(1)('span').eq(0).text()
src_text = objs.eq(i)('.span6').eq(0)('.tm-p-').text()
tgt_text = objs.eq(i)('.span6').eq(1)('.tm-p-').text()
raw = [corpus_id, src_lang, tgt_lang, author, src_text, tgt_text]
data.append(raw)
return data
else:
return 0
# def generate_url():
print(get_page_content("https://glosbe.com/en/vi/a")[9][4])
print(get_page_content("https://glosbe.com/en/vi/a")[9][5])
这是根据老师的例子自己写的
import sys,re
from pyquery import PyQuery as pq
import importlib,sys
importlib.reload(sys)
# src_text -> 源文本
# tgt_text -> 目标文本
def get_page_content(page_url):
d = pq(url=page_url)
#根据id获得div元素,然后获得ul元素,再获得ul下面的li元素列表
objs = d('#phraseTranslation')('ul')('li')
#定义一个存放元文本和目标文本的数组[[元文本,目标文本],[元文本,目标文本],[元文本,目标文本],...]
data = []
if objs:
for i in range(0,len(objs)):
#获得li元素下面的class为examples的div,再获得他下面的class为row-fluid的元素,他的里面有列表
#第一个列是元语言,第二个是目标语言,
#通过eq(0)获得元语言的列,获得他的text
#通过eq(1)获得目标语言的列,获得他的text
src_text = objs.eq(i)('.examples')('.row-fluid')('.span6').eq(0).text()
tgt_text = objs.eq(i)('.examples')('.row-fluid')('.span6').eq(1).text()
raw = [src_text, tgt_text]
data.append(raw)
return data
else:
return 0
#获得第
print(get_page_content("https://glosbe.com/en/vi/a")[3][0])
print(get_page_content("https://glosbe.com/en/vi/a")[3][1])