大家好,小编来为大家解答以下问题,青岛农业大学c语言程序设计,javase青岛农业大学教材答案,今天让我们一起来看看吧!
1、设置url
进入图书馆书目检索系统,分析它的url,可以很容易找到规律就是它的后缀no=0000+五位的图书编码,例如:http://ip:8080/opac/item.php?marc_no=0000560645
利用规律我们就可以这样来遍历url,代码如下:
def geturl(start):
#start为开始的图书编码
url='http://XX.XX.xx.xx:8080/opac/item.php?marc_no=0000'
for i in range(start,600000):
a="%06d"%i
url1=url+str(a)
2、分析页面源码,筛选需要获取的数据,编写正则表达式(以书名为例)
打开页面源码,找到题名所在的位置,如下:
<dt>题名/责任者:</dt>
<dt>题名/责任者:</dt>
<dd><a href="openlink.php?title=Python%E5%92%8CHDF5%E5%A4%A7%E6%95%B0%E6%8D%AE%E5%BA%94%E7%94%A8">Python和HDF5大数据应用</a>/(美) Andrew Collette著 胡世杰译</dd>
通过页面分析到,unicode乱码的部分Python和HDF5大数据应用
为我们需要的书名
爬取书名的代码如下:
def getdb(url,i):
html=urllib.request.urlopen(url).read().decode('utf-8')
try:
#书名
name = re.compile('<dd>